Я использую Angular ui-bootstrap для аккордеона, а для заголовка панели мне также нужен флажок, который создается внутри тега привязки с помощью ui-bootstrap. Это выглядит так (флажок находится внутри <label>
из-за стиля):
<a class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading">
<span>Some headline</span>
<label class="checkbox-toggle-btn">
<span>Activate</span>
<input data-ng-model="selected[service.name]" type="checkbox" ng-checked="selected[service.name]">
<i></i>
</label>
</a>
При нажатии на флажок (<label>
) он не ведет себя как флажок, но щелкается <a>
, и аккордеон расширяется.
Как я могу предотвратить поведение тега <a>
по умолчанию, если щелкнуть внутри <label>
? Могу ли я использовать директиву для метки и получить доступ к родительскому элементу?
e.stopPropagation();
на<a>
клике по тегу? - person hahaha   schedule 08.09.2014e.stopPropagation();
должен быть на клике по метке, поэтому, чтобы предотвратить любые родительские вызовы, добавление его в тег ‹a› только остановит родительские вызовы ‹a› - person hahaha   schedule 08.09.2014label
считается «интерактивным контентом», и поэтому он не может быть потомком элементаa
. (И дляinput
то же самое, конечно.) - person CBroe   schedule 08.09.2014