gpt4 book ai didi

javascript - 在传播期间修改事件数据

转载 作者:IT王子 更新时间:2023-10-29 03:21:58 25 4
gpt4 key购买 nike

有什么方法可以在 jQuery 事件对象向上传播 DOM 时将数据附加到它?

澄清一下,如果您有三个嵌套的 div,每个都有一个点击事件监听器,那么点击最里面的 div 会导致所有三个处理程序从最里面到最外面被调用(事件传播 101)。我想要做的是将一些数据添加到每个处理程序中的事件对象,这些数据可供下一层访问。

我该怎么做?

最佳答案

jQuery 传递的事件对象是原生事件对象的包装器。冒泡发生在 javascript/浏览器级别,因此 native 事件对象似乎在所有事件处理程序之间共享。

$('div').click(function(e) {
e.originalEvent.attribute = (e.originalEvent.attribute || "") +
" " + $(this).prop("className");
alert(e.originalEvent.attribute);
});

已在 Chrome、Firefox、Safari、IE9 和 IE10 中测试。如果您在其他浏览器中进行测试,请对结果发表评论。

这是 fiddle :http://jsfiddle.net/5AQqD/

关于javascript - 在传播期间修改事件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com