我有一个onclick
功能
<a onclick="return confirm('Are you sure you want to delete this item?');"
href="#"
data-bind="ifnot: ($data.borrowed_amount > 0 || $data.status == 0), click: $root.deleteMoneyBorrowed">
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
</a>
当我点击它时,它会显示“你确定要删除”,但是当我按下取消时它仍会继续删除,如果按下取消则不知道如何停止删除。
答案 0 :(得分:0)
您有2个事件绑定到<a>
标记。一个事件是默认的onclick事件,另一个事件是你设置为通过knockout绑定到项目。您需要有一个绑定事件。
在这甚至你创建确认。然后,如果确认等于true,则处理删除方法。
因此,要直接删除onclick属性。在deleteMoneyBorrowed函数中,
if(window.confirm('...')) {
deleteMoneyBorrowed();
console.log('user confirmed');
} else {
console.log('user cancelled');
}
此外,最好将班级定义移至父级<a>
的范围内,然后删除范围。
<a href="#" class="glyphicon glyphicon-trash" aria-hidden="true"
data-bind="ifnot: ($data.borrowed_amount > 0 || $data.status == 0),
click: $root.deleteMoneyBorrowed"></a>
以下是一个小提琴:https://jsfiddle.net/vk4nzo05/