2016-11-25 11 views
0

jQueryでclickイベントを使用してトリガーしたいHTMLにリンクがあります。このコンテンツはAJAXで生成されます。私は.onを使うはずですので、それは私がやっていることです。AJAX生成コンテンツのクリックイベント

$(".onestepcheckout-summary").on("click", ".wider", function() { 
     alert('success'); 
     return false; 
    }); 

しかし、クラスaddsqtyでアンカータグに発射することになっています:私はこのコードを使用するときに私のコードはtd火災ありません。 .wider.wider > a.wider > .addsqtyに変更するか、または.addsqtyに変更するなど、複数のことを試しました。なぜこれは機能しませんか?

ここは自分のHTMLです。 AJAX読み込みコンテンツは<table class="onestepcheckout-summary">で始まります。

<div class="onestepcheckout-summary"> 
<table class="onestepcheckout-summary"> 
    <thead> 
     <tr> 
      <th class="name" colspan="2">Artikel</th> 
      <th class="qty">Stück</th> 
      <th></th> 
      <th class="total">Zwischensumme</th> 
     </tr> 
    </thead> 
     <tbody> 
     <tr> 
     <td class="name"> 
      Simpel product     </td> 
     <td class="editcart"> 
      <a href="#" class="subsqty" name="substract">-</a> 
     </td> 
     <td class="qty" nowrap=""> 
       <input type="hidden" value="5" id="qty_46" name="cart[46][qty]" class="qtyinput" size="1"> 
       5  </td> 
     <td class="editcart wider" nowrap=""> 
      <a href="#" class="addsqty" name="add">+</a> 
     </td> 
     <td class="total"> 
         <span class="price">€ 10,00</span>     </td> 
    </tr> 
    </tbody></table> 

<table class="onestepcheckout-totals"> 
    <tbody><tr> 
    <td style="" class="a-right" colspan="1"> 
     Zwischensumme </td> 
    <td style="" class="a-right"> 
     <span class="price">€ 145,00</span> </td> 
</tr> 
    <tr> 
    <td style="" class="a-right" colspan="1"> 
     <strong>Gesamtbetrag</strong> 
    </td> 
    <td style="" class="a-right"> 
     <strong id="total-price"><span class="price">€ 145,00</span></strong> 
    </td> 
</tr> 
</tbody></table> 

</div> 
+0

セレクタがアンカータグをターゲットにしていません。 $( "a.addsqty")。on()が動作する可能性があります。 – Lain

+0

コードは私にとってうまく見えます!問題がブラウザのコンソールにエラーがないか確認してください。 –

+0

コンソールにエラーはありません – user3478148

答えて

0

動的なコンテンツは、クリックイベントをやったことがなかった:あなたは、バインドとデリゲートを上使用する必要があり、このため : 私は常に委任を好みます。これを試してみてください。

$("body").delegate(".wider", "click", function() { 
    alert('success'); 
    return false; 
}); 
+1

[代理人はjQuery 3.0で廃止予定です](http://api.jquery.com/delegate/) –

+1

環境設定を 'on'に変更してください! – Jamiec

+0

私は具体的にアンカータグ – user3478148

0

あなたは親のdivクラス名も、それは両方のように思える

$(document).on("click", '.onestepcheckout-summary',function (event) { 
// whatever u want ... 
}); 

変更と同じクラス名を持っても、このような方法で試みることができます。

  <div class="div-class"> 
       <table class="table-class"> 
       ...... 
       </table> 
      </div> 
    $('.div-class').on("click", '.onestepcheckout-summary',function (event) { 
    // whatever u want ... 
}); 
+0

私はコンテナ全体ではなく、アンカータグをクリックします。 – user3478148

+0

アンカークラス名 '.subsqty'も使用できます –

+0

これを試しましたが、うまくいかないようです – user3478148

関連する問題