我正在尝试将click函数绑定到HTML元素。 所以我试过这个: -
$("#buttonId").click(alert("hey")); // does not work.
然后我试了一下: -
$("#buttonId").click(function() {
alert("hey");
}); // works perfectly fine.
由于警报也是一个功能,为什么我不能直接传递它。 有人可以对此有所了解吗?
点击方法文档可在此处http://api.jquery.com/click/
获取答案 0 :(得分:5)
在第二个示例中,您将函数传递给click()
方法 但未调用 。当有人点击该元素时,jQuery将然后为您调用该函数。
然而,在第一个示例中,您调用“alert("hey")
”(返回undefined
),将值传递给click
方法
答案 1 :(得分:1)
click
方法采用处理程序类型的参数,而alert("hey");
是一个函数调用,既不是处理程序也不是它返回处理程序,这个调用是无效的。