在页面加载时执行的JQuery事件处理程序

时间:2013-01-10 20:09:03

标签: javascript jquery html

我的页面上有一些html,在我脑海中我有$("#someelement").click(alert("click"));。是否存在#someelement,当我因某种原因加载页面时警报响起。但是,当我$("#someelement").click(function(){alert("click")});时,它不会执行。那是为什么?

2 个答案:

答案 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