2010-08-17 110 views
0

我有以下的代码,做工精细:为什么jQuery live()不起作用?

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

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

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

这是行不通的。

这可能是什么原因?

(在我的情况下,$('.ui-selectmenu-menu a')元件可以被移除并且在运行期间再次添加。)

回答

1

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

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