带有表达式的 ng-disabled 会阻止自定义点击处理程序
ng-disabled with an expression prevents custom click handlers
我有一个基本上将点击事件绑定到按钮的指令,因此在单击按钮后它会运行(使用指令所以我不强迫其他人更改他们的 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>
事件在正常 ng-click
之后没有被触发,因为另一个代码禁用了这个按钮,所以在 ng-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>
事件在正常 ng-click
之后没有被触发,因为另一个代码禁用了这个按钮,所以在 ng-click
完成后它禁用了按钮,所以我的指令不会捕获事件。