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

JQuery event handler executing on page load

本文关键字:加载 执行 事件处理 程序 JQuery      更新时间:2023-09-26

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

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")作为函数的参数时,也会发生同样的事情,当所述代码运行时,会出现弹出窗口。

试试这个:

$(document).ready(function() {
  $("#someelement").click(function(){alert("click")});
});

这是一个工作提琴