2017-04-24 45 views
0

正如你知道的,這是頁面加載後推入文檔中的HTML,這是不行的:如何選擇頁面加載後推送的HTML元素?

$('.myclass').on('click', function(){ 

}) 

,我們必須把它寫這樣的工作:

$(document).on('click', '.myclass', function(){ 

}) 

好吧一切都好,現在我想知道我應該如何編寫下面的代碼來爲稍後推送的HTML工作?

$(".myclass").on({ 
    focusout: function() { 
    }, 
    keydown: function(ev) { 
    } 
}) 
+1

將其分解爲兩個 – epascarello

+0

事件偵聽器僅適用於創建事件偵聽器時存在的元素。如果添加新元素並希望事件觸發它們,則必須重新創建偵聽器。 – Sam07

回答

0

把它分成兩個部分

$(document).on('focusout', '.myclass', function(){ 

}); 
$(document).on('keydown', '.myclass', function(ev){ 

}); 
0

當你穿上document一個jQuery事件監聽器將監聽文件中的變化和事件監聽器適用於匹配選擇。如果您動態地將內容添加到DOM,應該使用這個。

你可能會想它分成兩個單獨的事件監聽器:

$(document).on('focusout', '.myclass', function(){ 
    //... 
}) 

$(document).on('keydown', '.myclass', function(){ 
    //... 
}) 

如果你想要的確切功能上都focuseout運行和​​,只要你想,你可以添加任意多的事件:

$(document).on('focusout keydown', '.myclass', function(){ 
    //... 
})