我经常看到这样的代码:
$("#thing").on("mouseenter",function(){ Do stuff });
就我个人而言,我几乎总是这样写:
$("#thing").mouseenter(function(){ Do stuff });
同样,我也经常写
$("#thing").click(function(){})
但我看到人们将其纠正为(是的,我知道on
优先于bind
在 v.1.7+ 中,所以本质上是相同的偏好问题):
$("#thing").bind("click",function(){})
我是否做错了什么,这两个函数之间是否存在我没有看到的深刻差异?它似乎总是做我想做的事,所以这从来都不是一个实际问题,但我有兴趣知道是否有我忽略的理论考虑。
不是真的,只是速度快一点mouseenter
函数调用on
(or trigger
如果不带参数调用),如源代码中所示:
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
// Handle event binding
jQuery.fn[ name ] = function( data, fn ) {
return arguments.length > 0 ?
this.on( name, null, data, fn ) :
this.trigger( name );
};
});
正如您所看到的,许多事件也是如此。
就我个人而言,我更喜欢使用mouseenter
(or click
等)当我不需要特殊功能时起作用on
:我认为使用 jQuery 的一大优势是它使代码变得不那么冗长且更具可读性。我认为你不应该被纠正,问问纠正你的人为什么要这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)