2016-04-21 84 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的绑定,即使它仅仅是一个空函数...