1

#addform入力フィールドを持つ要素内に動的に作成されたフォームがあります。次のようにイベントをフィールドに添付しています。

$('input[type=text]').on({focus:function(){console.log('d');}},'#addform')

これがトリガーされないのはなぜですか?私は読んだ.delegate()が、それはうまくいくはずだと思う.on()

4

3 に答える 3

4

引数が逆になっています。そのはず:

$("#addform").on({...}, 'input[type=text]');

この理由は、実際のバインドが に対して行われるため#addformです。 が呼び出されたinput[type=text]ときに存在しない場合があります。.on

于 2013-01-08T21:00:29.023 に答える
2

これはより適切だと思います:

$('#addform').on({focus:function(){console.log('d');}},'input[type=text]');
于 2013-01-08T21:00:32.130 に答える
0
$('#addform').on('focus','input[type=text]', function(){
   console.log('d');
});

同じことをしますが、より読みやすいと思います。

于 2013-01-08T21:19:59.557 に答える