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

问题描述 投票:6回答:5

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

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

我将泛型化匿名函数以提取命名函数中的逻辑,这使我陷入类似:

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

function namedFunction(){
    // do something
}

在我看来,这是一个很好的解决方案。但是有一个缺点,因为namedFunction会在脚本加载后立即执行。 Here您可以测试不良行为。

jquery event-handling
5个回答
15
投票

仅传递该函数本身的reference

尝试,

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

5
投票

这里您不需要()来执行您的功能:

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

1
投票

尝试

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

Updated Fiddle


1
投票

命名函数[视图jsFiddle]

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

匿名函数[视图jsFiddle]

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

0
投票

或更短的版本

$("#selector").click(namedFunction);
© www.soinside.com 2019 - 2024. All rights reserved.