2017-04-24 90 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(){ 
    //... 
})