2010-08-17 104 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()處理程序觸發該元素的事件。