Angularjs 元素上具有相同事件绑定的多个指令

Angularjs 元素上具有相同事件绑定的多个指令,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有两个来自两个独立模块的同名指令。 一个是第三方模块,我无法对其进行更改。它将鼠标滚轮事件绑定到元素 我写了我自己的指令,试图撤销这个绑定 angular.module('myModule').directive('ngViewport', [function () { return { restrict: 'A', priority: -1, link: function ($scope, element, attrs) {

我有两个来自两个独立模块的同名指令。 一个是第三方模块,我无法对其进行更改。它将鼠标滚轮事件绑定到元素

我写了我自己的指令,试图撤销这个绑定

angular.module('myModule').directive('ngViewport', [function () {
    return {
        restrict: 'A',
        priority: -1,
        link: function ($scope, element, attrs) {
            element.bind("mousewheel DOMMouseScroll", function (event) {
                event.stopPropagation();
                return true;
            });
        }
    };
}]);

这是行不通的。我还尝试在元素上使用“unbind”选项,但它也不起作用

查看
事件。stopImmediatePropagation()

除了保留元素上的任何附加处理程序之外 在执行时,此方法还通过隐式 调用
event.stopPropagation()
。只是为了防止事件发生 冒泡到祖先元素,但允许其他事件处理程序 在同一个元素上执行,我们可以使用
event.stopPropagation()
相反

所以


您的
bind
回调是否执行?在第三方bind方法之前或之后?在第三方bindTry
事件之前。而不是stopImmediatePropagation()!谢谢你。我会加上它作为答案。。。
...
element.bind("mousewheel DOMMouseScroll", function (event) {
  event.stopImmediatePropagation();
  return true;
});
...