JQuery replacement of live :: `delegate` or `on`



根据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 () {

因为
  1. 你不能使用。live()作为可重用的小部件。
  2. stopPropagation()不支持live。
  3. live()比较慢。
  4. live()是不可链的

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

相关内容

  • 没有找到相关文章

最新更新