23
我有以下表行作爲KnockoutJs腳本模板:如何在KnockoutJs單擊事件處理程序中使用event.preventDefault?
<script id="inboxTemplate" type="text/html">
<tr data-bind="click: function() { viewInboxModel.selectAction($data); }">
<td>...</td>
<td>${ CreateDate }</td>
<td data-bind="click: function(e){ e.preventDefault();viewInboxModel.clearAction($data); }"><img src="/Content/images/delete.png" height="16px" width="16px"> </td>
</tr>
</script>
問題是,當我點擊刪除按鈕,它也運行selectAction()方法。我已經嘗試在selectAction點擊處理程序和clearAction()點擊處理程序中都使用e.preventDefault()無濟於事。無論如何KnockoutJs可以防止現在單擊刪除按鈕時點擊底層的行嗎?
這工作完全 – MilkyWayJoe
在你的jsfiddle,「兩化」單擊處理程序不正確傳播到停止事件我當前版本的Chrome中的「一個」點擊處理程序。 – mkmurray
@mkmurray這個小提琴從github引用最新的KO,但是在KO 2.0之前創建。在KO 2.0中,有一個突破性的改變,將數據作爲第一個參數傳遞給事件處理程序,然後將事件傳遞給第二個參數。小提琴現在更新爲使用正確的簽名。 –