【发布时间】:2016-08-04 18:45:19
【问题描述】:
如http://api.jquery.com/live/所述:
从 jQuery 1.7 开始,不推荐使用 .live() 方法。使用 .on() 附加事件处理程序。
没错。 所以不是
$('.dynamicallyCreatedElement').live('click', function(){
console.log('click');
});
我应该使用:
$('.dynamicallyCreatedElement').on('click', function(){
console.log('click');
});
但是它不会将事件绑定到在on() 调用之后创建的元素。那么live() 方法真的更好吗?
我错过了什么吗?
【问题讨论】:
-
如果您只是在链接到的文档中进一步阅读(第三段):“根据其后继方法重写
.live()方法很简单;这些是等效调用的模板对于所有三种事件附加方法:$(document).on(events, selector, data, handler); // jQuery 1.7+". -
@FelixKling 谢谢,之前没找到。
-
很高兴您提出这个问题。人们经常建议它们是相同的,而实际上它们不是(这是一个令人讨厌的变化 IMO)。
标签: jquery