除了需要输入大量内容之外,使用 .click()
相对于 .bind('click')
或反之亦然还有什么好处吗?
最佳答案
根据一些非常不科学且非常快速的测试,使用 .bind 与 .click 相比,速度提高了 15%(大约),每个测试都进行了超过 50,000 次迭代。
它并不大,除非您要绑定(bind)大量事件,但我始终认为,在不费力气的情况下使其更快是值得做的事情。
我的快速而肮脏的测试:http://jsbin.com/ixegu/edit
其他好处 - 绑定(bind)多个事件
既然你接受了这个答案,我想我应该补充一点。您还可以使用.bind绑定(bind)多个事件,例如:
$('#link').bind('mouseover focus', function() { ... });
还有另一种语法可以通过bind() 方法绑定(bind)多个事件。来自 docs :
$("div.test").bind({
click: function(){
$(this).addClass("active");
},
mouseenter: function(){
$(this).addClass("inside");
},
mouseleave: function(){
$(this).removeClass("inside");
}
});
使用bind()传递事件的额外数据
然后,您可以在创建绑定(bind)时传递任意数据(仅在创建绑定(bind)时)
<div id="link">Happy</div>
<div id="otherlink">Sad</div>
function myHandlerFunc(e) {
alert('This is a ' + e.data.myVal + ' function.');
}
$('#link').bind('click', { myVal : 'Happy' } , myHandlerFunc);
$('#otherlink').bind('click', { myVal: 'Sad' }, myHandlerFunc);
当您点击快乐时,上面的警报会显示“这是一个快乐的链接”,当您点击悲伤时,则会发出“这是一个悲伤的链接”。请参阅http://jsbin.com/idare/edit举个例子。
阅读文档
关于jquery - jQuery 中 .click() 优于 .bind ('click' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2938934/