2016-04-21 102 views
4

我已經按照從上click的KO文件文章結合here這個例子:clickBubble:假不工作

<div data-bind="click: myDivHandler"> 
    <button data-bind="click: myButtonHandler, clickBubble: false"> 
     Click me 
    </button> 
</div> 

我的代碼如下所示:

<tr role="row" data-bind="click: 'True' === 'True' ? ($root.BrowsingCatalog() ? $root.viewProduct : $root.showProduct) : $root.showProduct"> 
    <td class="col-sm-1" data-bind="visible: 'True' == 'True' ? !$root.BrowsingCatalog() : true"> 
     <div class="btn-group"> 
      <button type="button" data-bind="clickBubble: false" class="btn btn-round dropdown-toggle " aria-expanded="false"> 
       <span class="fa fa-caret-down"></span> 
      </button> 
     </div> 
    </td> 
</tr> 

,當我點擊button,來自tr的事件被調用。我錯過了什麼?

回答

7

我通過在我的button上設置data-bind="click: function() { }, clickBubble: false"來解決這個問題。

顯然,clickBubble沒有click將無法​​正常工作。如果您想要在除某個子元素以外的整個元素上設置事件,則對該子元素設置data-bind: "clickBubble: false"將不起作用,您還需要指定click的綁定,即使它僅僅是一個空函數...