关于调用命名函数的click事件的jquery

时间:2014-03-06 09:29:55

标签: jquery event-handling

我有一个jQuery onClick处理程序,用这样的匿名函数编写:

$("#selector").on("click" function(){
    // do something
})

我会概括一下在命名函数中提取逻辑的匿名函数,这会驱使我做类似的事情:

$("#selector").on("click" namedFunction())

function namedFunction(){
    // do something
}

对我来说似乎是一个很好的解决方案。但是有一个缺点,因为加载脚本后执行namedFunctionHere你可以测试不良行为。

6 个答案:

答案 0 :(得分:14)

只需传递该函数本身的reference

尝试,

$("#selector").on("click", namedFunction);

答案 1 :(得分:5)

此处您的功能不需要()

$("#selector").on("click", namedFunction)

答案 2 :(得分:1)

尝试

function namedFunction(){
alert("Hello world!")
}
$("#clickTester").on('click', namedFunction)

Updated Fiddle

答案 3 :(得分:1)

要将自定义参数传递给namedFunction,请使用:

$("#selector").on("click", null, {param1: param1}, namedFunction);


namedFunction(event) { console.log(event.data.param1); }

答案 4 :(得分:0)

命名函数[view jsFiddle]

Function namedFunction () {
    alert("Hello world!");
}
$("#clickTester").on('click', namedFunction);

匿名函数[查看jsFiddle]

$("#clickTester").click(function(){
   alert("Hello world!");
});

答案 5 :(得分:0)

或更短的版本

$("#selector").click(namedFunction);