javascript - 在 Angular 中防止从子元素到父元素的 ng-click 传播

标签 javascript jquery angularjs

水果的名称是a嵌套在 <div ng-repeat=".."></div> 中的元素.当这个橙父div单击后,会显示一些隐藏的文本。单击水果名称时,它应该变为粗体。

问题:单击水果名称时,它会变成粗体并且隐藏的文本会显示出来。我们如何在不显示隐藏文本的情况下允许水果名称加粗?

我相信这涉及防止从 a 传播点击事件到 div ,我们该怎么做呢?

Jsfiddle: http://jsfiddle.net/tf4b63km/

点击水果名称前

enter image description here

点击水果名称后

enter image description here

最佳答案

您可以通过调用 stopPropagation 来阻止事件冒泡。在您的情况下,您需要做两件事:

1) 将$event传递给makeBold函数:ng-click="makeBold($event, f)"

2) 调用stopPropagation

function makeBold($event, f) {
   $event.stopPropagation();
   // ...
}

关于javascript - 在 Angular 中防止从子元素到父元素的 ng-click 传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34327426/

相关文章:

javascript - 获取div组的最大高度

javascript - 添加跟踪事件和单击对象的事件监听器?

javascript - 在 JavaScript 中重新分配函数声明

javascript - 是否可以 overflow hidden 但仍允许滚动?

html - 如果某些行值在 Angularjs 中不可用,我如何求和列值的总和?

AngularJS重定向未发生在拦截器中

javascript - Protractor 元件不可见

javascript - 嵌套 <li> : click event only for the deepest <li> that was clicked

javascript - 为什么这个 Bootstrap 2.3.2 下拉菜单不起作用?

html - 通过使用 Javascript CSS 单击选择时更改颜色