如何防止Angular JS中的确认对话框中的默认值

时间:2014-12-11 01:21:15

标签: javascript angularjs events preventdefault

我在保存功能中有这个

$scope.saveData = function () {

   if (confirm("Are you sure you want to save") === false) {
       return
    }


// do saving

现在如果我使用上面的代码,那么我点击是后得到这个。即使我点击取消我仍然在firebug中得到相同的错误。但是如果我单击是,我的数据会被保存,但错误仍然存​​在。 我只在firefox中看到这个,而不是在chrome中。

如果我删除确认对话框,则该错误消失。所以它肯定与对话框相关

  

错误:[$ rootScope:inprog] $申请已在进行中   http://errors.angularjs.org/1.2.25/ $ rootScope / inprog?P0 =%24apply

所以我想我可能需要

e.preventDefault();

我如何在上述功能中使用它。我这样使用

ng-click = "saveData()"

1 个答案:

答案 0 :(得分:1)

<button ng-click="saveData($event)">Save</button>

由于某些原因,Firefox无法自动传递event,因此您必须从标记中传递它。

$scope.saveData = function (e) {

   if (confirm("Are you sure you want to save") === false) {
       e.preventDefault();
       return;
    }
    // do saving
};