在实际触发 ng-click 功能之前,我正在使用此脚本进行确认对话框
Directives.directive('ngConfirmClick', [
function(){
return {
priority: 100,
restrict: 'A',
link: function(scope, element, attrs){
element.bind('click', function(e){
var message = attrs.ngConfirmClick;
if(message && !confirm(message)){
e.stopImmediatePropagation();
e.preventDefault();
}
});
}
}
}
]);
如 http://zachsnow.com/#!/blog/2013/confirming-ng-click/上所见
它通过以下方式使用:
<button ng-confirm-click="Are you sure?" ng-click="remove()">Remove</button>
SO 上还有其他类似的脚本,但是自从我更新到 Angular 1.2 RC3 他们停止工作。ng-click 函数总是在实际链接函数进入之前触发。
我还尝试提高优先级并听取其他事件(touchstart,因为最新的角度有这个新的 ngtouch 指令)。但没有任何效果。