#addform
入力フィールドを持つ要素内に動的に作成されたフォームがあります。次のようにイベントをフィールドに添付しています。
$('input[type=text]').on({focus:function(){console.log('d');}},'#addform')
これがトリガーされないのはなぜですか?私は読んだ.delegate()
が、それはうまくいくはずだと思う.on()
#addform
入力フィールドを持つ要素内に動的に作成されたフォームがあります。次のようにイベントをフィールドに添付しています。
$('input[type=text]').on({focus:function(){console.log('d');}},'#addform')
これがトリガーされないのはなぜですか?私は読んだ.delegate()
が、それはうまくいくはずだと思う.on()
引数が逆になっています。そのはず:
$("#addform").on({...}, 'input[type=text]');
この理由は、実際のバインドが に対して行われるため#addform
です。 が呼び出されたinput[type=text]
ときに存在しない場合があります。.on
これはより適切だと思います:
$('#addform').on({focus:function(){console.log('d');}},'input[type=text]');
$('#addform').on('focus','input[type=text]', function(){
console.log('d');
});
同じことをしますが、より読みやすいと思います。