jquery - 我可以暂时禁用处理程序吗?

标签 jquery handler

我有一个带有图像的链接,其中附加了一个单击和一个可拖动的处理程序。

如果我移动链接(例如拖动它),我想禁用点击处理程序。

然后,重新激活它,这样如果我单击后,我就会得到它。

我该怎么办? .unbind 将删除整个处理程序,我认为...

最佳答案

如果您的意思是,您不希望 anchor 单击事件在拖动过程中受到干扰,那么您可以捕获链接/ anchor 标记上的所有单击事件,并将其与可拖动的停止事件 Hook ,例如:

var cancelFollow = false; 
$(function(){ 

  $("anchorElement").click(function(e){
    e.stopPropagation();
    if (cancelFollow)
    {
      cancelFollow = false;
      return false;
    }
    return true;
  });

  $("imageElement").draggable({
    .... 
    start: function(e, ui){},

    stop: function(e, ui){     
      cancelFollow = true;

    }
  });
});

关于jquery - 我可以暂时禁用处理程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421219/

相关文章:

javascript - 在两个或多个功能之间切换

android - 如何停止 Android 中的 Handler 工作?

javascript - Chart.js 具有不同比例的混合条形图和折线图

javascript - 使用 `.toggle()` 而不是应用类来显示内容

android - 处理程序/可运行延迟有时会产生不同步的事件

java - SOAP 处理程序实现破坏了 Web 服务

objective-c - 使用 NSAppleEventManager 和 kInternetEventClass/kAEGetURL 的 Cocoa 协议(protocol)处理程序

python - 日志记录级别与处理程序级别

javascript - Angular JS : load custom javascript file in ng-view

javascript - 我想在 angular.js 中获取按钮单击事件的先前路径