gpt4 book ai didi

jQuery 全局自定义事件和 live() 似乎不起作用

转载 作者:行者123 更新时间:2023-12-01 04:27:25 24 4
gpt4 key购买 nike

当与全局自定义事件结合使用时,我正在努力掌握 jQuery live()。

我已经从 jQuery 文档本身中修改(并简化)了一个示例。

使用bind()有效:
http://jsfiddle.net/joshcomley/zShnd/

使用live()不会:
http://jsfiddle.net/joshcomley/QJDdH/

我了解 live()bind() 的工作方式存在差异,并且可以取消 live() 事件如果树中的另一个事件返回 false 等。

我已经阅读了尽可能多的博客文章,但似乎没有任何内容可以解释 live()组合全局自定义事件。

我只是不明白为什么 live() 在这个例子中不起作用!

谁能帮我解释一下吗?

最佳答案

触发事件时,您需要定位所需的元素。

所以使用

$('p').trigger('myCustomEvent');

示例位于 http://jsfiddle.net/gaby/QJDdH/2/

<小时/>

更新

这似乎是 jQuery 团队的决定..

引自source code of the trigger method github source

 // Handle a global trigger   
if (!elem ) {
// Don't bubble custom events when global (to avoid too much overhead)
event.stopPropagation();

我能想到的唯一替代方案(除了修改 jQuery 源)就是做一个

$('*').trigger('myCustomEvent');

但看起来它可能会很昂贵..(再次不是全局的,因为非 DOM 绑定(bind)事件不会被触发)..

关于jQuery 全局自定义事件和 live() 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529311/

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