2
動的DOM要素については、jQuery.fn.onまたは委譲を使用する必要がありますが、ドーム、クリックはもう働きません。ここでappendTo()が使用されたときにClickイベントが動的要素にバインドされていない
はjsFiddleは、問題を再現することである。 http://jsfiddle.net/j0L7c51f/
現在、私は、次のbindメソッド使用しています:私はUL要素を移動するコード行をコメントアウトした場合
$('#commoditySelector').on('click', 'li.available', function() {
var cmID = $(this).attr('data-cmid');
$('#debug').html('commoditySelected: '+ cmID);
});
をappendTo()を使用すると、clickイベントの境界がうまく動作します。
パーフェクトMR:
は、この問題を解決するには、代わりにa
にmouseenter
イベントを使用します。 Rory –@Roryあなたは完全に正しいです!また、メインの3つのリスト項目の上でマウスを速く動かすと、ドロップダウンリストがキューがキャンセルされていないかのように複数回開いて閉じるのはなぜですか?私はstop()とclearQueue()の両方を試しました – Giox
- 'mouseenter'と' mouseleave'の '#commodityList'要素に' stop(true) 'を呼び出す必要があります:http://jsfiddle.net/ j0L7c51f/5 /。私はまた、いくつかの繰り返しセレクタをクリアするためにいくつかの調整を行いました。 –