1

jquery初心者です。チェックボックスがあります

<label id="2p">
    <input type="radio" name="due" class="due"  value="2p" checked="yes" />
    <span class="testoCheckbox">2p</span>
</label>

div に動的に追加されます。ロード、変更、またはクリック イベントの後に追加されても、発生しません。チェックボックスのクリックをキャッチするソリューションは「on」機能にある必要があることを理解しましたが、正しい構文を取得できません。誰か助けてくれませんか?

4

4 に答える 4

2

on()この方法で動的に追加された要素のイベントを確認するために使用できます。

$(document).on('change', '.due', function(event){

    // do your stuff

});

changeドキュメント内でイベントが発生するたびに、それ.dueがセレクターに一致する場合、コールバックが発生します。

パフォーマンスを向上させるために、選択を絞り込むことができます。

$('#someDiv').on('change', '.due', function(event){

    // do your stuff

});

に含まれるすべてのチェックボックスをターゲットにする場合#someDiv:

$('#someDiv').on('change', 'input[type="checkbox"]', function(event){

    // do your stuff

});
于 2012-09-26T12:42:42.320 に答える
0

試す :

$('body').on('click', '.due', function() {
  // do something here
});

参照: jQuery.on()

于 2012-09-26T12:41:04.180 に答える
-1

私の知る限り、checkbvoxにonclick=""イベントを動的に追加でき、正しく機能するはずです。jQueryでそれを実行したい場合は、id(たとえば、「myCheckbox」)を定義して実行する必要があります。

$('#myCheckbox').click(function(){
  //your code here.
});

または、すべてのチェックボックスに同じアクションを追加する場合は、別のセレクターを使用します。つまり.due
、ドキュメント.click(handler)へのショートカットです: http.on("click", handler) ://api.jquery.com/click/

于 2012-09-26T12:36:41.767 に答える
-2

チェックボックスを動的にロードすると、jQueryはページロード時にイベントをバインドできません。.live(> = jQuery 1.7では.onに置き換えられます)を使用すると、次のことが実現できます。

「現在および将来、現在のセレクターに一致するすべての要素にイベントハンドラーをアタッチします。」

http://api.jquery.com/live/

答え:

$(body).on("click", ".due", function() {
  // Handler
});
于 2012-09-26T12:36:09.593 に答える