问题说明了一切。哪个更好,什么时候使用什么,我几年来一直没有使用jQuery live(),因为我已经使用liveQuery插件两年了,我已经习惯了并且仍然继续使用它。但是我想知道两者之间的细微差别,以及何时使用它们?
最佳答案
jQuery的“实时”功能利用DOM上事件的冒泡。相比之下,“liveQuery”插件使用选择器在DOM中查找元素并直接附加事件处理程序。
我认为您最好在可能的情况下使用“实时”功能,因为它涉及较少的DOM遍历等。例如,使用liveQuery将事件处理程序挂接到整个大表上可能有点慢,但对于都带有“现场”。尽管jQuery 1.4大大改进了“实时”功能,但有时可能存在某些问题(当然是IE)迫使您使用liveQuery。
编辑— 更新:2017年9月
此时,现代jQuery版本将事件处理程序注册集中在.on()
API中。简要地:
$(selector).live("event-name", handler);
今天将用
.on()
编写:$(document).on("event-name", selector, handler);
与长期不推荐使用的
.on()
方法相比,.live()
API提供了更大的灵活性,包括可以选择使用DOM中的任何节点作为委派点(就像旧的.delegate()
一样)。