2
我知道,對於動態dom元素,我需要使用jQuery.fn.on或委託,但如果我'移動'元素容器追加到另一個元素dom,點擊不再有效。使用appendTo()時,點擊事件未綁定到動態元素
這裏是該的jsfiddle重現該問題: http://jsfiddle.net/j0L7c51f/
目前我使用下面的方法綁定:
$('#commoditySelector').on('click', 'li.available', function() {
var cmID = $(this).attr('data-cmid');
$('#debug').html('commoditySelected: '+ cmID);
});
如果我註釋掉的代碼行我動的UI元素使用appendTo(),單擊事件綁定工作正常。
完美MR。 Rory –
@Rory你完全正確!而且你也知道爲什麼如果我將鼠標移動到主要三個列表項目上,那麼下拉列表會打開並關閉好幾次,就好像隊列沒有被取消一樣?我已經嘗試了stop()和clearQueue() – Giox
是的 - 你需要在'mouseenter'和'mouseleave'的#商品列表元素上調用'stop(true)':http://jsfiddle.net/ j0L7c51f/5 /。我還做了一些調整來清理一些重複的選擇器。 –