jQuery活着,用$(这个)

时间:2013-08-07 11:37:58

标签: jquery

我正在更新我的脚本,所以那些正在使用jQuery 1.9 +

live已删除,我必须将其转换为on语法。 There are some examples on the jQuery documentation。文档给出:

$(selector).live(events, data, handler); // jQuery 1.3+
$(document).on(events, selector, data, handler); // jQuery 1.7

所以 $("a").live("click", handler)应转换为$(document).on("click","a", handler),依此类推。

但是当我没有selector时如何转换?在我的情况下,这是一个插件。

$(this).live("click", handler)

这不起作用:

$(document).on("click",$(this), handler) 

- 修改

我需要委托,所以bind不是解决方案。这是在插件中使用的,我的代码是

elem.live("click", handler),其中elem有时是选择器,有时是$(this)。我对此无法控制。

3 个答案:

答案 0 :(得分:0)

只需使用

$(this).on("click", handler);

$(this).click(handler);

答案 1 :(得分:0)

.on方法可以如下使用:

$(document).on("click", function (e) {
    // handle the click
});

此外,在代码中,$(this)将是文档本身,而不是您想要单击要绑定的内容。

答案 2 :(得分:0)

我通过检查jQuery migrate plugin

的源代码找到了答案

正在寻找.context property。这个问题的答案是

$(document).on("click", $(this.context), handler)