Knockout JS阻止特定孩子的点击事件触发

时间:2016-01-15 09:28:42

标签: javascript knockout.js event-handling

我已经看过类似的问题了,但是我无法通过Knockout'data-bind'使其适用于我

我有一个父div,里面有多个div。在父div上我有一个click事件,我不想触发具有其他事件处理的特定子div。

我有这样的事情:

<div class='parent' dataBind='click: parentClicked'>
  <div class='child' dataBind='click: childClicked'></div>
  ....some other stuff...
</div>


在我的视图模型中,我尝试过:

function parentClicked() {
  alert('parent clicked');
}
function childClicked(event) {
  alert('child clicked');
  event.stopPropagation();
}


我得到'event.stopPropagation()'不是一个函数。
我做错了什么?

1 个答案:

答案 0 :(得分:5)

您必须使用clickBubble: false。供参考:Preventing the event from bubbling

<div class='parent' dataBind='click: parentClicked'>
  <div class='child' dataBind='click: childClicked, clickBubble: false'></div>
  ....some other stuff...
</div>