将ng-click事件添加到angular-ui手风琴中

rob*_*ing 5 html javascript twitter-bootstrap angularjs angular-ui

我正在使用angular-ui并开始使用手风琴.

ng-click当有人打开或关闭手风琴组时,我需要发动一个事件.

我做了一些研究,发现了这个主题:angular-ui问题

它链接到一个提取器,它显示了一个不满意我的用例的解决方案.

这是解决方案html:

<accordion>
  <accordion-group>
      <accordion-heading>
          <span ng-click="foo()">Try clicking me!</span>
      </accordion-heading>
      Some Body 3
  </accordion-group>
</accordion>
Run Code Online (Sandbox Code Playgroud)

但是,如果单击范围文本,则仅触发ng-click事件.如果您在文本外部单击,手风琴仍会打开或关闭,而不会发生任何点击事件.

为了解决这个问题,我尝试将跨度宽度和高度设置为100%并设置display:block.我还考虑完全删除填充,但我想知道是否有比黑客攻击更好的方法.

有谁知道如何将ng-click事件附加到整个手风琴组?或者如何让跨度填满整个组?

我的整个代码:

  <accordion close-others="true">
    <accordion-group ng-repeat="question in level">
        <accordion-heading style="padding: 0">
            <div style="display: block; margin: 0px" ng-click="set_question(question.title)">{{ question.title }}</div>
            <i class="icon-check" ng-show="has_solved_all"></i>
        </accordion-heading>
        <span ng-bind-html-unsafe="question.content"></span>
    </accordion-group>
  </accordion>
    <br>
    Question Open: {{ question_open }}
Run Code Online (Sandbox Code Playgroud)

0xc*_*0de 3

为什么需要ng-click具体的解决方案?您可以注意一个is-open属性,该属性会在打开/关闭手风琴时触发。