禁用ng表达式可防止自定义点击处理程序

时间:2018-08-06 06:54:01

标签: javascript angularjs angularjs-ng-disabled

我有一条指令,该指令基本上将click事件绑定到按钮,因此在单击按钮后它会运行(使用了指令,因此我不强迫其他人更改其ng-click表达式)。 无论如何,如果存在带有表达式的ng-disabled指令,则不会触发指令内的click事件。但是,如果ng-disabled是一个显式表达式(ng-disabled="false"),则可以正常工作。

https://codepen.io/anon/pen/wxxEbJ

这是绑定点击事件的指令的代码:

link: function (scope, element) {
    element.bind('click', function () {
        console.log("click");
    });
}

我的元素:

<md-button type="button" ng-disabled="isDiabled" my-directive
           ng-click="save()">
</md-button>

1 个答案:

答案 0 :(得分:0)

由于另一个代码禁用了此按钮,因此未在正常ng-click之后触发该事件,所以在ng-click完成后,该事件将禁用该按钮,因此我的指令将无法捕获该事件。