我在元素#addform
中有一个动态创建的表单,带有输入字段。我正在将事件附加到字段中,如下所示:
$('input[type=text]').on({focus:function(){console.log('d');}},'#addform')
为什么这不会触发?我读到了.delegate()
,但我认为它应该适用于.on()
答案 0 :(得分:4)
你有相反的论点。它应该是:
$("#addform").on({...}, 'input[type=text]');
这样做的原因是对#addform
进行了实际绑定。 <{1}}被调用时可能不存在input[type=text]
。
答案 1 :(得分:2)
我认为这更合适:
$('#addform').on({focus:function(){console.log('d');}},'input[type=text]');
答案 2 :(得分:0)
$('#addform').on('focus','input[type=text]', function(){
console.log('d');
});
同样的事情,但我认为更具可读性。