根据jQuery API描述:live在最新版本中被完全删除。但它在我们的项目中得到了广泛的应用。例如:
$('div.collapsed').live('mouseover', function () {
TBD.GENERAL.showLoginOther(this);
});
$(".info_bar .filter a, .pagination a").live("click", function () {
TBD.DHTML.shadeWithLoading($(this).data('container-id'));
$.getScript(this.href);
return false;
});
$("form[loading-effect]").live('ajax:before', function () {
$(this).find('.button_panels, .loading_panels').toggle();
});
.........
等。
现在如果我想使用最新的jquery什么将是正确的替换活?委托还是委托?
期待一点解释。提前感谢
由于.live()
已被弃用,因此最好使用.on()
$('div.collapsed').on('mouseover', function () {
或者可以使用like
$(document).on('mouseover','div.collapsed', function () {
因为- 你不能使用。live()作为可重用的小部件。
- stopPropagation()不支持live。
- live()比较慢。
- live()是不可链的
和.on()方法提供了附加事件处理程序所需的所有功能。