我正在为网络/应用程序创建工具构建一个小部件系统Weld ,并且我希望能够在 DOM 上的元素之间传输数据。
理想情况下是这样的:
var myObject = { name: 'Bob', age: 35 };
// Send change event with data
$('#myElement').trigger('change', myObject);
// Listen to change event and receive data
$('#myElement').change(function (event, myObject) {
console.log('#myElement received', myObject);
});
这样的事情可能吗?
澄清一下,事件触发/接收有效,但我可以通过事件传输 myObject
吗?
最佳答案
是的,这是可能的。请记住,$.trigger
最终会在任何监听器上使用 Function.apply
,因此传递给触发器的其他参数需要位于数组中:
var myObject = { name: 'Bob', age: 35 };
// Send change event with data
$('#myElement').trigger('change', [myObject, 'hi']);
// Listen to change event and receive data
$('#myElement').change(function (event, myObject, someMessage) {
console.log('#myElement received', myObject, someMessage);
});
文档中对此进行了概述:http://api.jquery.com/trigger/
关于javascript - 我可以使用 JavaScript 事件在元素之间传输数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39178555/