我的页面上有一些html,在我脑海中我有$("#someelement").click(alert("click"));
。是否存在#someelement,当我因某种原因加载页面时警报响起。但是,当我$("#someelement").click(function(){alert("click")});
时,它不会执行。那是为什么?
答案 0 :(得分:2)
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
。它期望一个参数是一个字符串,它必须是一个窗口对象的成员。在("string")
之后放置alert
,例如alert("string")
将执行该功能,从而导致弹出窗口显示"string"
。将alert("string")
作为参数放入函数时会发生同样的情况,当所述代码运行时会出现弹出窗口。
答案 1 :(得分:0)
试试这个:
$(document).ready(function() {
$("#someelement").click(function(){alert("click")});
});
这是一个有效的Fiddle