在附加事件(点击,鼠标悬停,鼠标移除等等)时,哪一个更适合性能?我在liu中附加了很多事件监听器:悬停事件,我想知道两者之间是否存在性能差异。
答案 0 :(得分:4)
你正在以错误的方式思考它。 live()是一个非常昂贵的观察者,如果可以的话,请避免使用delegate()。如果你没有使用ajax或javascript在DOMready之后创建DOM节点,那么你不必担心将观察者附加到事件:
$(function(){
$('#my_node').click(function(){}); // will work fine for all nodes loaded before domready
});
答案 1 :(得分:-1)
这取决于您的需求,但这是一般规则:
尝试尽可能与.bind()
绑定,尽可能少地与.live()
绑定
(请注意bind('event', ...)
有别名,例如'.click()')
所以,更喜欢document.ready()
中的绑定而不是使用.live()
,因为直播会消耗更多的资源,因为总是“倾听”更改。
希望这会有所帮助。干杯
答案 2 :(得分:-2)
$(document).ready(function() {
//Put all your events here, where they'll be live anyway
});