首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >暂时禁止jQuery事件处理

暂时禁止jQuery事件处理
EN

Stack Overflow用户
提问于 2009-11-27 23:07:55
回答 6查看 16.4K关注 0票数 20

有没有一种优雅的方法可以暂时抑制jQuery事件?我使用的代码如下:

$(element).unbind(event, function1).unbind(event, function2);
// code for which the event is suppressed
$(element).bind(event, function1).bind(event, function2);

但我发现它有点笨拙,并且不能很好地扩展到许多事件。为什么我要暂时禁止事件?在Ajax访问期间,我使用BlockUI插件来阻止UI。这是通过BlockUI提出的:$().ajaxStart($.blockUI).ajaxStop($.unblockUI)来完成的。

但是,一次Ajax访问是特殊的,所以我需要一条不同的消息。ajaxStart和ajaxStop事件会干扰消息代码(不显示任何内容):

function message(text, callback) {
  if (text == undefined) {
     $.unblockUI();
     return;
  }

  // $().unbind('ajaxStop', $.unblockUI).unbind('ajaxStart', $.blockUI);
  $("#message_text").html(text);
  $.blockUI({message: $("#message")});
  $("#message_ok").click(function() { 
    // $().bind('ajaxStop', $.unblockUI).bind('ajaxStart', $.blockUI);
    $.unblockUI();
    if (callback != undefined) callback();
  });
}

只有当我取消对unbind()和bind()行的注释时,它才能工作。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1809275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档