我有一个jQuery onClick
处理程序,用这样的匿名函数编写:
$("#selector").on("click" function(){
// do something
})
我会概括一下在命名函数中提取逻辑的匿名函数,这会驱使我做类似的事情:
$("#selector").on("click" namedFunction())
function namedFunction(){
// do something
}
对我来说似乎是一个很好的解决方案。但是有一个缺点,因为加载脚本后执行namedFunction
。 Here你可以测试不良行为。
答案 0 :(得分:14)
只需传递该函数本身的reference
。
尝试,
$("#selector").on("click", namedFunction);
答案 1 :(得分:5)
此处您的功能不需要()
:
$("#selector").on("click", namedFunction)
答案 2 :(得分:1)
尝试
function namedFunction(){
alert("Hello world!")
}
$("#clickTester").on('click', namedFunction)
答案 3 :(得分:1)
要将自定义参数传递给namedFunction
,请使用:
$("#selector").on("click", null, {param1: param1}, namedFunction);
namedFunction(event) { console.log(event.data.param1); }
答案 4 :(得分:0)
Function namedFunction () {
alert("Hello world!");
}
$("#clickTester").on('click', namedFunction);
$("#clickTester").click(function(){
alert("Hello world!");
});
答案 5 :(得分:0)
或更短的版本
$("#selector").click(namedFunction);