Я использую этот сценарий, чтобы иметь диалог подтверждения перед тем как стрелять функцию нг щелчкаПредотвратить нг щелкните от стрельбы для диалога подтверждения (перестал работать в угловых 1.2 RC3)
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). Но ничего не работает.
я использовал последний подход и превратила его в предварительно функцию связующей, кажется более естественным для меня, чем иметь отрицательный приоритет –
Ни один из них не работает в угловом 1.2.15. Вы видите диалоговое окно подтверждения, но оно не останавливает распространение события. Любая идея почему? – cayblood
Sry для позднего ответа, но, возможно, это помогает другим. Мы используем угловой 1.2.16, и здесь он работает так, как ожидалось, как описано выше. –