【发布时间】:2013-02-19 17:14:59
【问题描述】:
我有以下敲除html代码:
<table class="vehicles" data-bind="with: chosenCategoryData">
<tbody data-bind="foreach: Vehicles">
<tr data-bind="click: $root.goToVehicle">
<td data-bind="text: Brand"></td>
<td data-bind="text: Model"></td>
<td data-bind="text: Registration"></td>
<td><button data-bind="click: $root.deleteVehicle">Delete</button></td>
</tr>
</tbody>
</table>
单击任意行,将导航到详细信息页面。
单击删除按钮将删除该行上的元素。
此删除按钮位于最后一列。
问题是,当我点击删除按钮时,会触发名为 deleteVehicle 的淘汰赛事件(ok),但也会触发 goToVehicle 事件(nok)。
点击删除按钮时如何避免该行的点击事件?
谢谢。
更新
这是在 deleteVehicle 后面调用的事件:
self.deleteVehicle = function (vehicle)
{
$.ajax({ url: "/api/vehicle?id=" + vehicle.VehicleId, type: "DELETE" });
location.hash = vehicle.Category;
}
如您所见,首先我调用 ajax 来删除元素。接下来我强制重新加载我的网格。如果我使用 clickBubble 事件处理程序,它会在我的 deleteVehicle 函数中执行我的 ajax 调用,但不会执行 location.hash = vehicle.Category;。所以我的网格没有刷新???
【问题讨论】:
-
文档在点击绑定下显示了这个确切的用例。
标签: knockout.js