代码之家  ›  专栏  ›  技术社区  ›  DA.

jQuery绑定多点击事件的性能

  •  1
  • DA.  · 技术社区  · 16 年前

    在这种情况下,我需要多次将单击事件绑定到对象。

    例如:

    for(i=0;i<=100;i++){
        $myObject.click(function(){
             window.location = "myurl"+i+".html";
        })
        ...do other stuff...
    }
    

    通过这个标记,$myObject最后是否附加了100个单击事件?是否每次都要先取消绑定单击事件?

    for(i=0;i<=100;i++){
        $myObject.unbind('click').click(function(){
             window.location = "myurl"+i+".html";
        })
        ...do other stuff...
    }
    
    2 回复  |  直到 16 年前
        1
  •  1
  •   ajm    16 年前

    您将在第一个调用中绑定100个单击事件,并且它将在单击一次时从myurl0.html-myurl100.html设置窗口位置。(编辑:不过,我没有测试这个;它可能正在创建一个闭包,因此只会打开myurl100.html。)

    第二个只打开myurl100.html。

    一般来说,最好是解开不再需要的事情。

    你在找类似的东西吗 one ,哪一个触发一次且未绑定?

        2
  •  0
  •   Boris Guéry    16 年前

    根据 this article ,live()方法将比bind()快