淘汰赛JS防止在特定孩子上触发点击事件

Dra*_*gos 3 javascript event-handling knockout.js

我曾问过类似的问题,但无法使用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>
Run Code Online (Sandbox Code Playgroud)


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

function parentClicked() {
  alert('parent clicked');
}
function childClicked(event) {
  alert('child clicked');
  event.stopPropagation();
}
Run Code Online (Sandbox Code Playgroud)


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

Raj*_*esh 5

您必须使用clickBubble: false。供参考:防止事件冒泡

<div class='parent' dataBind='click: parentClicked'>
  <div class='child' dataBind='click: childClicked, clickBubble: false'></div>
  ....some other stuff...
</div>
Run Code Online (Sandbox Code Playgroud)