小编Sam*_*mba的帖子

jQuery自动将事件处理程序注册到用户对Ajax响应添加到DOM的元素的操作

对于具有许多屏幕和导航的ajax Web应用程序,要附加div或链接或按钮的事件处理程序,我们可以编写如下代码:

//Using $.on inside Ajax success handler

$("#container").on("click", "#selector", function(event){

});
Run Code Online (Sandbox Code Playgroud)
  • 如果DOM中不存在容器,则此方法将不起作用.为了使其工作,将不得不使用文件或身体作为容器,性能可能不太好.

  • Ajax成功处理程序中可能有许多代码行.为了更好地组织,可以将代码移动到一个函数并在Ajax成功处理程序中调用该函数.但是我们必须为所有排列和组合制作许多寄存器事件函数.

  • 注册函数代码混乱.

  • 如果已经注册了事件处理程序,则再次注册将导致两个偶数处理程序.所以我们必须取消注册和注册(只有在没有附加时才附加) - 不确定性能问题.

任何替代品?

我想的是:

  • 在一个位置为模块维护容器,目标和单击事件处理程序的映射.
  • 在ajaxComplete全局事件处理程序中,如果xhr.responseHTML具有容器,则将事件处理程序附加到目标元素(仅在未附加时附加).

    $(document).ajaxComplete(function(e, xhr, settings){
       for(ind in clickEventListeners){eventlistner = clickEventListeners[ind];
        if($(eventlistner.container,xhr.responseHTML).length > 0){
          $(eventlistner.target).on("click",function(){
          eventlistner.processor(this);
          });
      }
     }
    });
    
    Run Code Online (Sandbox Code Playgroud)

优点:所有事件处理程序都记录在一个模块的位置.每个ajax成功处理程序都没有代码混乱.

缺点:我不确定是否有.

如有任何建议,请告知.

jquery dom jquery-plugins

6
推荐指数
1
解决办法
1727
查看次数

MongoDB在集合上获取更多信息非常慢

我正在尝试调试MongoDB实例上的高CPU问题。我们有两个分片r3.large AWS实例。与操作数相比,没有太多的页面错误。

系统配置文件显示了大量的getmore条目,如下所示。请帮助我找出导致getmore变慢的原因。

    {
        "op" : "getmore",
        "ns" : "mydb.mycollection",
        "cursorid" : 74493486271,
        "ntoreturn" : 0,
        "keyUpdates" : 0,
        "numYield" : 7,
        "lockStats" : {
            "timeLockedMicros" : {
                "r" : NumberLong(16140),
                "w" : NumberLong(0)
            },
            "timeAcquiringMicros" : {
                "r" : NumberLong(6458801),
                "w" : NumberLong(294321)
            }
        },
        "nreturned" : 120,
        "responseLength" : 13100,
        "millis" : 6304,
        "execStats" : {

        },
        "ts" : ISODate("2015-06-16T14:20:39.886Z"),
        "client" : "1.5.1.3",
        "allUsers" : [ ],
        "user" : ""
    }
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query

5
推荐指数
1
解决办法
3478
查看次数

标签 统计

dom ×1

jquery ×1

jquery-plugins ×1

mongodb ×1

mongodb-query ×1