e.stopPropagation()不是Knockout JS中的函数

时间:2016-09-27 13:48:08

标签: javascript jquery knockout.js

我有一张桌子,里面有两件事:

点击行级别的事件

并在检查该行内的复选框时单击。

当选中复选框时,我不希望触发tr上的Click事件。

   <tbody data-bind="foreach:CustomerList">
        <tr onclick="removepage();" onmouseover="changeRowColor(this)" onmouseout="restoreRowColor(this)">

            <td>
                <input class="checkbox" data-bind="click:$parent.customerClick(event)" type="checkbox">

            </td>
            <td class="col-md-4">
                <span class="name" data-bind="text:customerName" />

            </td>
            <td>
                <span data-bind="text:siteName" />
            </td>

        </tr>
    </tbody>

现在在customerClick();我试图达到同样的目的。

   customerClick: function (e) {
        debugger;
        e.stopPropagation();
    },

但它不起作用。

它说,e.stopPropagation();也不是一个功能。

请告诉我该怎么做。

1 个答案:

答案 0 :(得分:3)

Knockout带来了这种场合的绑定 - clickBubble

<input class="checkbox" data-bind="click:$parent.customerClick(event), clickBubble: false" type="checkbox">

false上将其设置为input会阻止点击事件到达树的更上方处理程序。