0

jquery 1.7.2 でデリゲートを使用して、2 つの div を使用し、内部要素にクリック イベントを定義しました。最初のクリック イベントは期待どおりに機能し、2 番目のクリック イベントは機能していません。

 $("#first").delegate(".ask div:first","click",function(e){
   alert("hi"); 
 });

 $("#second").delegate(".ask div:first","click",function(e){
   alert("hello");
 });​

HTML マークアップ:

<div id="first" >
<div class="ask"> 
    <div> hi  </div>
    <div> disabled </div>
</div>

</div>

<div id="second" >
  <div class="ask"> 
     <div> hello </div>
     <div> disabled </div>
</div>

http://jsfiddle.net/YjK3N/3/ しかし、jquery の下位バージョンでは、上記のコードは期待どおりに正常に動作しています。

4

2 に答える 2

1

使用:first-childして、それは動作します

$("#first").delegate(".ask div:first-child","click",function(e){
  alert("hi");
});


$("#second").delegate(".ask div:first-child","click",function(e){
  alert("hello");
}) ;​

そして、それは.on

于 2012-10-05T06:26:16.660 に答える
1

私はそれを試しましたが、あなたは正しいです、それは機能していません。このコードはうまくいきました:

$("#first").on("click",".ask div:nth-child(1)",function(e){
  alert("hi");
});

$("#second").on("click",".ask div:nth-child(1)",function(e){
  alert("hello");
});​
于 2012-10-05T06:20:58.050 に答える