猿问

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

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

我试图使用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从多个地方调用该函数并希望以这种方式执行。


梦里花落0921
浏览 1655回答 3
3回答

慕少森

为了彻底,我遇到了另一个解决方案,它是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);}我知道这个问题在游戏中已经很晚了,但之前的答案让我得到了这个解决方案,所以我希望它能帮到某个人!

慕田峪7331174

如果你按照它的方式来称呼它......$('.leadtoscore').click(add_event('shot'));...你需要add_event()返回一个函数,比如......function add_event(param) {     return function() {                 // your code that does something with param                 alert( param );            };}返回该函数并将其用作参数.click()。
随时随地看视频慕课网APP

相关分类

JQuery
我要回答