2016-04-21 11 views
4

Ich habe dieses Beispiel aus der Dokumentation KO gefolgt Artikel über die click Bindung here:clickBubble: false funktioniert nicht

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

Und mein Code sieht wie folgt aus:

<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> 

Und wenn ich auf Die button, die Veranstaltung von der tr wird aufgerufen. Was vermisse ich?

Antwort

7

Ich löste es durch Einstellung data-bind="click: function() { }, clickBubble: false" auf meine button.

Anscheinend clickBubble ohne click wird nicht funktionieren. Wenn Sie ein Ereignis für ein ganzes Element mit Ausnahme eines bestimmten untergeordneten Elements wünschen, wird die Einstellung data-bind: "clickBubble: false" für das Kind nicht funktionieren. Sie müssen auch eine Bindung für click angeben, auch wenn es nur eine leere Funktion ist ...

Verwandte Themen