我有以下代码,可以正常工作:
$('.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/