このコードが機能しないのはなぜですか?
$("div.class ul li").on("click","a",function(){
alert("A");
});
しかし、これはうまくいきます...
$("body").on("click","div.class ul li a",function(){
alert("A");
});
このコードが機能しないのはなぜですか?
$("div.class ul li").on("click","a",function(){
alert("A");
});
しかし、これはうまくいきます...
$("body").on("click","div.class ul li a",function(){
alert("A");
});
あなたdiv.class ul li
は動的に作成されていると思います。on
既存の要素 (たとえば、最も近い親) で関数を呼び出す必要があります。これが、 で呼び出されたときに機能する理由body
です。
おそらく、ページがロードされた後、コードは動的にli
要素を挿入しています。イベントの委任を機能させるには、DOMがであるときに存在する最も近い要素(親、祖父母など)にバインドする必要がありますready
。たぶんul
?
$("div.class ul").on("click","li a",function(){
alert("A");
});