0

私はこのコードを持っています:

$('input.error').on('click', function(){
    $(this).removeClass('error').val($(this).data('submitval'));
});

しかし、次のようなエラークラスを持つフォーム要素をクリックすると、次のようになります。

<input id="email" type="email" class="required error" placeholder="Enter Your Email here" name="email" value="">

何も起こらず、設定したブレークポイントは呼び出されず、コードは実行されません。ただし、これを設定する$('input')と機能します。私の理解では、.onロード後のDOMの変更をカバーする必要があります。私は何かが足りないのですか?

4

1 に答える 1

3

はい、あなたは次のとおりです。.on()ライブイベント、デリゲート、および通常のイベントを組み合わせ、使用した構文によって通常のイベントが作成されます。

あなたが欲しかったのは

$('#someparentelement').on('click', 'input.error',function() {
    // ...
});

#someparentelement入力要素に可能な限り近いが、イベントをバインドするときに存在する要素である必要があります。

于 2012-07-08T21:33:12.483 に答える