jquery - 创建对象时将参数传递给 jQuery 事件处理程序

标签 jquery events

我正在动态创建一个对象并将 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/

相关文章:

jQuery 和 CSS 在 Sharepoint 2013 中不起作用

javascript - 如何使用生成的 javascript 代码打开一个新窗口?

javascript - 当我们按下按钮时,进度条会增加

javascript - 在浏览器中打开新选项卡时防止 onBlur 事件发生

apache-flex - 监听EventDispatcher的所有事件类型

events - Magento 空购物车事件

c# - 确定绑定(bind)到事件的事件处理程序列表

.net - 什么是 IDataErrorInfo 以及它如何与 WPF 一起使用?

javascript - 根据 URL 在 a href 之前附加图像

jquery - 如何根据其他元素更改 margin ?