0

大家好,我正在使用 Angular js,我想在单击删除按钮时添加确认消息

我试过这段代码:

<a data-ng-click="removeTodo(this)" href="javascript:;"
onclick="javascript:return confirm('Are you sure you want to delete ?')">Delete</a>

这显示为ok并带有确认框的取消按钮,如果我单击ok按钮,它将进入下一个进程,但如果我单击取消按钮,则它与进入同一进程相同,确认框没有隐藏(确定按钮将返回true ,但与取消按钮相同,将返回 true 而不是 false)

但是当我在点击我的删除按钮时使用下面的代码时效果很好

 $scope.removeTodo = function (Student) {
        if (!confirm("Do you want to delete this ? ")) {
            return false;
        }

   //please think , I added Some code for next process in here 
};

问题是什么 ?我错过了什么?为什么我的第一个代码不起作用?

4

1 回答 1

1

这是因为return false与阻止默认操作和停止事件传播相同 - 这将阻止附加到祖先元素的处理程序被执行......但在你的情况下,两个点击处理程序都附加到同一个元素。

因此,即使确认返回 false,角度点击处理程序也会被执行。

于 2013-10-15T06:38:58.653 回答