Как я могу отключить снаружи, ng-click="parent()"если я это сделаюng-click="d"" />

Как отключить родительский нг-клик?

angularjs

7007 просмотра

2 ответа

118 Репутация автора

У меня есть структура HTML с ng-click:

<div ng-click="parent()">
  <div ng-click="d"></div>
</div>

Как я могу отключить снаружи, ng-click="parent()"если я это сделаюng-click="d"

Автор: Muhad Источник Размещён: 26.09.2015 04:52

Ответы (2)


31 плюса

16474 Репутация автора

Решение

Используйте stopPropagationметод на угловом $eventобъекте:

<div ng-click="parent()">
  <div ng-click="d(); $event.stopPropagation();"></div>
</div>

Или передайте $eventобъект в качестве аргумента ng-clickметода и вызовите stopPropagationметод:

<div ng-click="parent()">
  <div ng-click="d($event)"></div>
</div>

В d:

$scope.d = function (event) {
    // ...
    event.stopPropagation();
}
Автор: Michael P. Bazos Размещён: 26.09.2015 04:54

2 плюса

861 Репутация автора

Добавить только event.stopPropagation (); на ребенка нг-клик. это предотвратит родительский ng-click Пример:

<div ng-click="parent($event)">
  <div ng-click="child($event); event.stopPropagation()">
  </div>
</div>
Автор: Tabish Размещён: 26.09.2015 05:56
Вопросы из категории :
32x32