我正在动态创建一个对象并将 onclick
事件绑定(bind)到它:
jQuery('<a/>', {
click: function() { foo(arg1, arg2) },
...
})
一切正常。问题是它是否可以简化,这样我就不需要 funciton()
包装器来调用带参数的 foo
函数?
提前致谢。
最佳答案
您无法将其他参数传递给 jQuery 事件处理程序,jQuery 将事件对象作为一个参数传递给事件处理程序。
在 jQuery 1.7 及更高版本中,on()函数允许您通过传递包含要在处理程序中使用的数据的对象来扩展事件对象。您可以访问 event.data
对象上的数据
function foo(event) {
event.data.arg1;
event.data.arg2;
}
jQuery('<a/>').on('click', {arg1: val1, arg2: val2}, foo)
关于jquery - 创建对象时将参数传递给 jQuery 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17788912/