使用$("#a").live()的函数时,却被chrome提示 Uncaught TypeError: $(...).live is not a function(…),网上搜了下,发现是因为jQuery 1.9版本之后不再支持.live函数,我的jQuery版本是1.11。
官方API文档说明如下
https://jquery.com/upgrade-guide/1.9/#live-removed
.live() removed
The
.live()
method has been deprecated since jQuery 1.7 and has been removed in 1.9. We recommend upgrading code to use the.on()
method instead. To exactly match$("a.foo").live("click", fn)
, for example, you can write$(document).on("click", "a.foo", fn)
. For more information, see the .on() documentation. In the meantime, the jQuery Migrate plugin can be used to restore the.live()
functionality.
因此,之前使用.live的写法如果是 $("a.foo").live("click", fn)
,那么要相应的改为 $(document).on("click", "a.foo", fn),其中fn是事件的回调函数。如果要保证老代码能正确运行,也可以使用jQuery的Migrate插件