javascript - 为什么 jQuery live() 不起作用?

标签 javascript live jquery

我有以下代码,可以正常工作:

$('.ui-selectmenu-menu a').click(function() { alert('OK'); });

但是,如果我将其替换为:

$('.ui-selectmenu-menu a').live('click', function() { alert('OK'); });

它不起作用。

这可能是什么原因?

(在我的例子中,$('.ui-selectmenu-menu a') 元素可以在运行期间删除并再次添加。)

最佳答案

如果类(class)发生变化,例如父级没有 class="ui-selectmenu-menu 那么选择器将不再匹配,请确保在发生任何事件后都不会发生这种情况。

与直接绑定(bind)到元素不同,选择器不再匹配将停止 .live()处理程序从触发该元素的事件。

关于javascript - 为什么 jQuery live() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503042/

相关文章:

javascript - 我如何在 CKEditor 4 中强制居中所有内容?

javascript - 随机唯一数字的大小数组

iphone - iOS 上的 RTMP 流

javascript - 如果通过 jquery 更新,Vuejs 绑定(bind)不起作用

javascript - 构造动态变量 - AngularJS

javascript - 让 AJAX 与 JavaScript 配合使用

生活在 jquery-1.9.1.min.js 中不工作

javascript - 检查字段长度作为用户类型

javascript - 触发 iframe 内 textarea 的 'change' 事件

javascript - Angular通过调用URL在浏览器中获取CSV文件