【发布时间】:2013-10-15 16:27:01
【问题描述】:
在实际触发 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,因为最新的 Angular 有这个新的 ngtouch 指令)。但没有任何效果。
【问题讨论】:
标签: javascript angularjs onclick confirm directive