1

来自 jQuery 网站:

.on( events [, selector ] [, data ], handler(eventObject) )

我如何编写正确的代码以将参数从 ON 方法传递到事件处理程序函数...

我想要这样的代码:

myfunc =function(obj){
$(this).after("<p>Another paragraph! "+obj+"</p>");
}

var count = 0;
$("body").on("click", "p",myfunc(++count) );

在此处输入图像描述

4

2 回答 2

4
myfunc =function(event){
    $(this).after("<p>Another paragraph! "+event.data+"</p>");
}

$("body").on("click", "p", ++count, myfunc);

您发送的数据被插入到事件对象中:

数据

event.data触发事件时要传递给处理程序的数据。

文档

于 2013-04-26T14:21:19.233 回答
3

假设您打算在每次点击时增加计数:

var count = 0;
$("body").on("click", "p",function(){
    $(this).after("<p>Another paragraph! " + (++count) + "</p>");
});

编辑,如果您希望您的功能是独立的并且不想更改它,您可以这样做:

myfunc = function(obj){
    $(this).after("<p>Another paragraph! "+obj+"</p>");
}

var count = 0;
$("body").on("click", "p",function(){
    myfunc.call(this, ++count);
});

http://jsfiddle.net/Bwk3W/

于 2013-04-26T14:21:34.517 回答