.live() or document.ready?
.live() or document.ready?
哪一个是更好的性能时附加事件(点击,鼠标悬停,鼠标离开,等等…)?我将许多事件侦听器附加到我的元素中:hover事件,我想知道两者之间是否存在性能差异。
你想错了。Live()是一个非常昂贵的观察者,尽量避免使用它,而使用delegate()。如果您没有使用ajax或javascript在DOMready之后创建DOM节点,那么您不必担心将观察者附加到事件:
$(function(){
$('#my_node').click(function(){}); // will work fine for all nodes loaded before domready
});
这取决于你的需要,但这里有一个一般的规则:
尽量与.bind()
绑定,尽可能少与.live()
绑定
(注意bind('event', ...)
有别名,如'.click()')
所以,更喜欢在document.ready()
中绑定,而不是使用.live()
,因为live消耗更多的资源,因为总是"倾听"变化。
希望这对你有帮助。欢呼声
$(document).ready(function() {
//Put all your events here, where they'll be live anyway
});
相关文章:
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- jQuery document.ready not working
- jQuery document.ready停止代码
- 停止对document.ready函数的重定向/刷新
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- 函数从$(document).ready外部调用在$(document).ready中定义的函数
- 如果没有document.ready(),我怎么能拥有多个javascript函数呢
- ASPX Jquery 1.11 $(Document).ready(function() {} was skipped
- 重载像$(document).ready这样的函数是错误的
- 延迟加载jquery后替换$(document).ready(function)
- $(document).ready未在brunch/jade/主干网项目中调用
- 为什么不'加载$(document.ready(function)后,单击“工作”
- $(document)中的多个javascript函数.ready不工作
- JavaScript执行从函数声明开始,而不是从$(document).ready()开始
- 从Document.ready中的bundle执行javascript
- 多个 $(document).ready(function() 但只有前几个被解雇
- 如何在 $(document).ready(function(){}) 中使用 for 循环
- 从 document.ready 调用 jQuery 插件抛出 getPreventDefault 错误
- 为什么一个 $(document).ready(function() { 会阻止另一个运行
- 调用 Document.ready 外部的 AJAX 函数