我有一個動態創建的表單,其中有輸入字段的元素#addform
。我附上事件,像這樣的字段:jquery .on()動態元素無法正常工作的事件地圖
$('input[type=text]').on({focus:function(){console.log('d');}},'#addform')
爲什麼這不會觸發?我讀了.delegate()
,但我認爲它應該與.on()
我有一個動態創建的表單,其中有輸入字段的元素#addform
。我附上事件,像這樣的字段:jquery .on()動態元素無法正常工作的事件地圖
$('input[type=text]').on({focus:function(){console.log('d');}},'#addform')
爲什麼這不會觸發?我讀了.delegate()
,但我認爲它應該與.on()
你有反過來的理由。它應該是:
$("#addform").on({...}, 'input[type=text]');
原因是實際綁定完成到#addform
。當.on
被調用時,input[type=text]
可能不存在。
我覺得這是比較合適的:
$('#addform').on({focus:function(){console.log('d');}},'input[type=text]');
$('#addform').on('focus','input[type=text]', function(){
console.log('d');
});
做同樣的事情,但更具有可讀性,我認爲。
謝謝。說得通。只要SO讓我,我會接受你的答案。 – tim