jquery click(function() 与 bind("click", function() 的区别
之前使用jq都是直接$(元素).click就用了,bind(‘元素‘)也用过,但是只是“用”没有去研究有什么区别,
$("#btn").bind("click", function(){$("#divObj").show();return false;}); $("#btn").click( function(){$("#divObj").show();return false;});
稍微看了下Jq的事件绑定源码:
jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + "submit,keydown,keypress,keyup,error").split(","), function(i, name){ // Handle event binding jQuery.fn[name] = function(fn){ return fn ? this.bind(name, fn) : this.trigger(name); }; });
后者是前者的快捷方法,bind可以向回调函数传递额外的数据。
源代码中可以看到,最终还是调用bind
也就是使用bind事件,减少了元素对 click 的翻译和遍历,也算是性能的一点提升吧。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。