1

根据 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 的正确替换?委托或上?

期待一点解释。提前致谢

4

1 回答 1

1

由于.live()已弃用,您最好使用.on()like

$('div.collapsed').on('mouseover', function () {

或者可以像这样使用

$(document).on('mouseover','div.collapsed', function () {

因为

  1. 您不能将 .live() 用于可重用的小部件。
  2. stopPropagation() 不适用于现场直播。
  3. live() 比较慢。
  4. live() 不可链接。

并且 .on() 方法提供了附加事件处理程序所需的所有功能。

于 2013-06-19T13:15:53.187 回答