我有两个用于鼠标悬停功能的处理程序,我想知道它们之间的区别以及如何以最有效的方式使用每个处理程序。
代码块一:
$('.test div').mouseover(function() {
$(this).stop().animate({
left: '100px'
}, 550);
});
代码块二:
$('.test').delegate('div', 'mouseover', function() {
$(this).stop().animate({
left: '100px'
}, 550);
});
提前致谢:)
最佳答案
.delegate()
附一个 mouseover
事件处理程序.test
元素,而不是每个 .test div
匹配,为 future 工作<div>
添加在 .test
内的元素您调用的元素 .delegate()
上。
如果您没有多个 <div>
每个 .test
内的元素并且它们不会动态更改(例如通过 AJAX 添加),您可以直接绑定(bind)。在其他情况下,它们会动态变化或只有很多,请使用 .delegate()
因为启动成本要便宜得多,而且气泡/选择器成本微乎其微。
关于jquery - 代表有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4257861/