Jquery .on与.live

ayy*_*yyp 24 jquery

我知道.live()现在已经弃用但我似乎无法改变它并保留功能.

我只是对.on()jQuery中的函数有一个快速的问题.我现在在这里使用.live()

像这样:

$('table tr th').live("click", function() {
});
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试.live().on()它替换它不再像它应该的那样工作时.

我试过投入

$('table tr th').on("click", function() {
});
Run Code Online (Sandbox Code Playgroud)

以及

$('table tr').live("click", "th", function() {
});
Run Code Online (Sandbox Code Playgroud)

$('table tr').delegate("th", "click", function() {
});
Run Code Online (Sandbox Code Playgroud)

但无济于事.

为什么这样做以及我可以采取哪些步骤使其正常工作?

Tom*_*ers 31

on()函数需要语法更新,您应该将代码更改为:

$('body').on("click", "table tr th", function()...
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看此文章:http://www.andismith.com/blog/2011/11/on-and-off/


use*_*654 10

试试这个:

$('table tr th').live("click", function() {
Run Code Online (Sandbox Code Playgroud)

应该

$(document).on("click", "table tr th", function() {
Run Code Online (Sandbox Code Playgroud)

这就是你如何.live完全模仿这个电话.当然,您可以根据DOM结构将选择器从文档限制为更有意义的选择.

编辑:

只是为了澄清一下,在您的示例中,您需要使用,$(document).on(...因为该表没有任何父项,并且在页面生命周期内被替换.