如果单击内部复选框,则防止默认锚点行为

swo*_*ish 3 html javascript angularjs angular-ui-bootstrap

我将 Angular ui-bootstrap 用于手风琴和面板标题,我还需要checkbox,它是由 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>
Run Code Online (Sandbox Code Playgroud)

通过单击复选框 ( <label>),它的行为不像复选框,而是<a>被单击并展开手风琴。

<a>如果在里面单击,如何防止默认标签行为<label>?我可以在标签上使用指令并访问父元素吗?

cev*_*vek 5

尝试以下

<label ng-click="$event.stopPropagation();"></label>
Run Code Online (Sandbox Code Playgroud)