我的页面上有一些 html,在我的脑海中我有$("#someelement").click(alert("click"));
. #someelement 是否存在,当我出于某种原因加载页面时,警报会消失。但是,当我有$("#someelement").click(function(){alert("click")});
. 这是为什么?
问问题
57 次
2 回答
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")
作为参数放置到函数时会发生同样的事情,当所述代码运行时会发生弹出窗口。
于 2013-01-10T20:13:15.353 回答
0
试试这个:
$(document).ready(function() {
$("#someelement").click(function(){alert("click")});
});
这是一个工作小提琴
于 2013-01-10T20:15:43.947 回答