哪个性能更好:jQuery.live(),还是内联onevent属性

Which is more performant: jQuery.live(), or inline onevent attributes?

本文关键字:属性 onevent 性能 更好 live jQuery      更新时间:2023-09-26

我正在构建一个带有大量事件绑定的HTML5移动应用程序。因为它还有一个很大的DOM,经常由于数据绑定而改变,直接绑定事件(jQuery)。bindaddEventListener)可能不是一个好的选择。

// jQuery.bind
$("div").live("click", fnName);
// Inline
<div onclick="fnName(this);"></div>

虽然我对Mobile WebKit的特定环境最感兴趣,但我也有兴趣了解其他浏览器的表现。

据说.delegate().live()快,这可能是您的一个选择。

.live()示例将比onclick版本更快,使用更少的内存。

每次执行onclick="fnName(this);"时,您都在创建一个新函数,并且数千个相同的函数具有非零内存占用。如果您使用onclick,那么创建每个div也将花费更多的时间。

.live()和。delegate之间的区别可能很小,但是你应该尽可能使用。delegate()。