我在 KnockoutJs 中有以下表格行作为脚本模板:
<script id="inboxTemplate" type="text/html"></script>
问题在于当我点击删除按钮时,它也会运行selectAction()方法。我已经尝试在selectAction点击处理程序和clearAction()点击处理程序中都使用e.preventDefault(),但没有用。有没有办法KnockoutJs可以防止如果删除按钮被单击,则底层行现在被单击?
我在 KnockoutJs 中有以下表格行作为脚本模板:
<script id="inboxTemplate" type="text/html"></script>
问题在于当我点击删除按钮时,它也会运行selectAction()方法。我已经尝试在selectAction点击处理程序和clearAction()点击处理程序中都使用e.preventDefault(),但没有用。有没有办法KnockoutJs可以防止如果删除按钮被单击,则底层行现在被单击?
如果您已经引用了 jQuery,则可以在处理程序中安全地调用 e.stopImmediatePropagation();
,因为它会传递 jQuery 事件对象。如果您不使用 jQuery,则仍然可以执行类似以下的操作:
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
根据 @Benoit Drapeau 的评论:
在最新版本的 Knockout 中,您可以使用 clickBubble: false。例如:
<td data-bind="click: myFunction, clickBubble: false"> </td>