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

标签 javascript jquery function parameter-passing

我正在尝试使用 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 函数并想以这种方式进行。

最佳答案

为了完整起见,我遇到了另一个解决方案,它是 jQuery 1.4.3 版中引入的功能的一部分 click event handler.

它允许您将数据映射传递给事件对象,该对象会作为第一个参数由 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);
}

关于javascript - jQuery 的 .click - 将参数传递给用户函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3273350/

相关文章:

javascript - Emberjs - 对 {{view Ember.TextField}} 使用 bubbles=false 不起作用

javascript - 检索当前的 javascript 文件名和行号

javascript - 为 iPad(触摸屏)提供 "onClick"并为桌面用户提供默认功能

javascript - 循环调用类函数

javascript - 有没有更好的方法在 JavaScript 中执行可选函数参数?

javascript - 如何使用 aoColumns 添加或注入(inject)列到 jQuery 数据表?

javascript - 比较数组(不修改原始数组)

jquery - 检测指定区域的点击

jquery - 使用 jQuery 和 Maximage2 作为简单的幻灯片

c++ - 友元函数及其与 I/O 操作符的关系