我在#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');
});
做同样的事情,但我认为更具可读性。