我的页面上有一些 html,在我的脑海中我有 $("#someelement").click(alert("click"));
。无论 #someelement 是否存在,当我由于某种原因加载页面时,警报都会响起。但是,当我有 $("#someelement").click(function(){alert("click")});
时,它不会执行。这是为什么?
最佳答案
alert("foo")
总是会立即提醒 foo,它不会返回可以作为事件处理程序传递的函数。您需要将一个函数传递到 jQuery 事件绑定(bind)方法中。
$("#someelement").click(function(){
alert("click");
});
此外,如果此代码位于<head></head>
中,需要将其包裹在 $(document).ready()
中.
$(document).ready(function(){
$("#someelement").click(function(){
alert("click");
});
});
<小时/>
alert
是 window
上定义的方法对象,例如 window.alert
。它需要一个字符串参数,并且它必须是 window 对象的成员。放置("string")
之后alert
,如alert("string")
将执行该函数,导致弹出窗口显示 "string"
。当您放置 alert("string")
时,也会发生同样的事情作为函数的参数,当所述代码运行时会出现一个弹出窗口。
关于javascript - JQuery 事件处理程序在页面加载时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266388/