0

我试图在发送请求时在 asp.net ajax BeginrequestHandler 和 EndRequestHandler 事件中绑定 $(document).click 事件,应该调用 unbind 以便单击事件不起作用。当调用 endRequestHandler 时,应该再次执行绑定。

function BeginRequestHandler(sender, args)
     {
       $(document).unbind("click");
       $("#divUtility > :first-child").css({
        'position':'absolute', 
        'left':'0px', 
        'right':'0px', 
        'width':'250px', 
        'height':'70px', 
        'background-color':'#EfEfEF'
       });
     }


   function EndRequestHandler(sender, args)
   {
      $(document).bind("click",function(e){
       if($(e.target).hasClass("UtilityClass"))
       { 
       }
       else
       {
         $('.popupstyle').hide();
       }
      });
   }

其余的工作正常。但是,取消绑定不起作用。

4

1 回答 1

0

第一个任务是放一些

console.debug("your message")

在你的功能中

function BeginRequestHandler(sender, args)

为了检查回调是否真的被调用。

其次,您应该在单击时使用命名空间,以避免删除单击事件(甚至不是您的)上的所有事件处理程序。添加你的事件处理程序

$(document).bind("click.myNameSpace", function(mouseEvent) {
    // your code here
});

并删除您的事件处理程序

$(document).unbind("click.myNameSpace");
于 2012-12-05T01:17:29.257 回答