问题就是这一切.哪一个更好,什么时候使用什么,我从不使用jQuery live(),因为我使用liveQuery插件已有几年了,我已经习惯了它并且仍在继续使用它.但我想知道两者之间的细微差别以及何时使用它们?
jQuery原生的"实时"函数利用DOM上的事件冒泡.相比之下,"liveQuery"插件使用选择器在DOM中查找元素并直接附加事件处理程序.
在我看来,你最好在可能的情况下使用"live"函数,因为它涉及更少的DOM遍历等.例如,将事件处理程序挂钩到整个大表中的东西对于liveQuery来说可能有点慢但在都是"活着的".可能存在一些问题(当然使用IE)迫使你有时使用liveQuery,尽管jQuery 1.4已经大大改进了"live".
编辑 - 更新:2017年9月
此时,现代版本的jQuery在.on()API中集中了事件处理程序注册.简述:
$(selector).live("event-name", handler);
Run Code Online (Sandbox Code Playgroud)
今天会写成.on():
$(document).on("event-name", selector, handler);
Run Code Online (Sandbox Code Playgroud)
所述.on()API提供比长弃用相当多的灵活性.live()的方法一样,包括在DOM作为委托点使用任何节点(例如旧的选项.delegate()一样).