在内存节省方面是否更好地使用bind()?

时间:2014-08-19 00:18:25

标签: jquery

其中哪一个被认为是更好的代码,为什么以及什么在内存上更好?

假设您的jquery代码看起来像没有bind();

的示例
   $(document).ready(function(){
      $('#someDiv').mouseenter(function(){
         $('#someDiv').fadeTo('fast',1);
      });
      $('#someDiv').mouseleave(function(){
         $('#someDiv').fadeTo('fast', .5);
      });    
   });

或使用bind()方法。

  $(document).ready(function(){
     $('#someDiv').bind({
       mouseenter: function(){
         $('#someDiv').fadeTo("fast",1);
       },
       mouseleave:  function(){
         $('#someDiv').fadeTo("fast",0.5);
       )
     })
  });

1 个答案:

答案 0 :(得分:2)

没有区别。在jQuery中绑定事件处理程序的所有不同方法最终调用相同的内部函数来实际执行绑定。以下是其工作原理的简化视图:

bind: function(bindings) {
    for (event in bindings) {
        return this.on(event, bindings[event]);
    },
mouseenter: function(handler) {
    return this.on("mouseenter", handler);
},
mouseleave: function(handler) {
    return this.on("mouseleave", handler);
}

BTW,.bind()已过时,但尚未弃用。除非您需要在1.7之前与jQuery版本兼容,否则.on()是首选。