0

このコードが機能しないのはなぜですか?

$("div.class ul li").on("click","a",function(){
        alert("A");
});

しかし、これはうまくいきます...

$("body").on("click","div.class ul li a",function(){
    alert("A");
});
4

2 に答える 2

2

あなたdiv.class ul liは動的に作成されていると思います。on既存の要素 (たとえば、最も近い親) で関数を呼び出す必要があります。これが、 で呼び出されたときに機能する理由bodyです。

于 2013-01-04T11:20:38.110 に答える
0

おそらく、ページがロードされた後、コードは動的にli要素を挿入しています。イベントの委任を機能させるには、DOMがであるときに存在する最も近い要素(親、祖父母など)にバインドする必要がありますready。たぶんul

$("div.class ul").on("click","li a",function(){
  alert("A");
});
于 2013-01-04T11:26:18.783 に答える