来自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) );
答案 0 :(得分:4)
myfunc =function(event){
$(this).after("<p>Another paragraph! "+event.data+"</p>");
}
$("body").on("click", "p", ++count, myfunc);
您发送的数据将被插入到事件对象中:
数据强>
触发事件时要传递给
event.data
中的处理程序的数据。
答案 1 :(得分: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);
});