我在页面上有一些html,而在我的头上我有$("#someelement").click(alert("click"));
。无论#someelement是否存在,当我由于某种原因加载页面警报熄灭。但是,当我有$("#someelement").click(function(){alert("click")});
时,它不会执行。这是为什么?在页面加载时执行的JQuery事件处理程序
回答
alert("foo")
将总是立即提醒foo,它不会返回可以作为事件处理程序传递的函数。相反,您需要将一个函数传递给jQuery事件绑定方法。
$("#someelement").click(function(){
alert("click");
});
此外,如果这个代码是在<head></head>
,它需要被包裹在$(document).ready()
。
$(document).ready(function(){
$("#someelement").click(function(){
alert("click");
});
});
alert
是window
对象上定义的方法,例如,window.alert
。它期望一个参数是一个字符串,并且它必须是窗口对象的成员。在alert
之后放置("string")
,如alert("string")
将执行该功能,导致弹出窗口为"string"
。当您将alert("string")
作为参数添加到函数时会发生同样的事情,当所述代码运行时会出现弹出窗口。
谢谢。出于兴趣,这是怎么回事? – Bluefire
因为alert(“Foo”)'不返回函数。 '$ .fn.click()'需要一个函数作为第一个参数传递。这正是JavaScript的工作原理。 –
试试这个:
$(document).ready(function() {
$("#someelement").click(function(){alert("click")});
});
这里是一个工作Fiddle
- 1. 如何在页面加载后注册事件处理程序?
- 2. Response.write按钮点击事件处理程序中的代码行在页面加载时执行
- 3. 页面加载时执行jQuery Popup吗?
- 4. 重新加载页面再次运行我的事件处理程序
- 5. 如何处理ASP.net MVC Ajax加载页面上的jQuery事件?
- 6. 停止页面在beforeunload事件处理程序中卸载
- 7. 执行RichTextBox事件处理程序“textChanged”
- 8. oneclick事件处理程序不执行
- 9. 无法执行事件处理程序
- 10. 在jquery中并发执行事件处理程序
- 11. ASP.NET Web窗体事件处理程序在加载后修改页面组件
- 12. VSTO加载事件处理程序
- 13. 确保jQuery事件处理程序执行顺序
- 14. 在ASP.Net中手动添加页面事件处理程序C#
- 15. 关于(内联)javascript事件处理程序执行jquery事件处理程序的顺序
- 16. jQuery事件处理程序
- 17. jQuery事件处理程序
- 18. 在事件处理程序结束时执行javascript代码
- 19. 通过jQuery的图像加载事件处理程序ajax
- 20. jQuery的点击事件处理程序加载HTML页面加载后不工作()
- 21. 事件处理程序运行仅在前面的事件处理完毕
- 22. jquery控制事件处理程序执行
- 23. 实时附加事件处理程序
- 24. 在页面加载时执行javascript
- 25. javascript在页面加载时不执行?
- 26. 在默认行为后执行的Javascript事件处理程序
- 27. C#,在单独的线程中执行事件处理程序
- 28. 事件在运行时处理一个加载的程序集的
- 29. 加载页面时执行的所有验证程序
- 30. 添加自己的事件处理程序在其他事件处理程序
你包裹在$(文件)。就绪()? – Praveen
好问题。我已经尝试过,没有这个,两种方法的结果都是一样的。 – Bluefire
你能发表该代码吗? – Praveen