小编典典

jQuery 的 .click - 将参数传递给用户函数

all

我正在尝试使用 jQuery 的 .click 调用带有参数的函数,但我无法让它工作。

这就是我希望它的工作方式:

$('.leadtoscore').click(add_event('shot'));

调用

function add_event(event) {
    blah blah blah }

如果我不使用参数,它会起作用,如下所示:

$('.leadtoscore').click(add_event);
function add_event() {
    blah blah blah }

但我需要能够将参数传递给我的add_event函数。

我该怎么做这个具体的事情?

我知道我可以使用.click(function() { blah },但我add_event从多个地方调用该函数并希望这样做。


阅读 72

收藏
2022-04-20

共1个答案

小编典典

为了彻底起见,我遇到了另一个解决方案,它是 jQuery click 事件处理程序 1.4.3
版本中引入的功能的一部分。

它允许您将数据映射传递给事件对象,该对象会自动通过 jQuery
作为第一个参数反馈给事件处理函数。数据映射将.click()作为第一个参数传递给函数,然后是事件处理函数。

这里有一些代码来说明我的意思:

// say your selector and click handler looks something like this...
$("some selector").click({param1: "Hello", param2: "World"}, cool_function);

// in your function, just grab the event object and go crazy...
function cool_function(event){
    alert(event.data.param1);
    alert(event.data.param2);
}
2022-04-20