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 回答