首页 > 解决方案 > 在 AngularJS 中扩展 aria-expanded div 时如何启动 js 函数?

问题描述

我有一个手风琴,我在我的 AngularJS 应用程序中使用 aria-expanded 实现了它。它看起来如下:

<div aria-controls="something_{{$id}}" aria-expanded="false" 
     ng-click="vm.myFunction()" class="expansion-panel-toggler collapsed" 
     data-target="#something_{{$id}}" data-toggle="collapse" 
     id="something_header_{{$id}}" role="button">

如您所见,点击手风琴时会启动一个控制器功能。这不是一个理想的解决方案。它可以正常工作,因为在单击手风琴时会启动该功能(并因此展开),但我不喜欢它,原因如下:

  1. 我只希望在手风琴展开时执行该功能,当前解决方案将在展开和折叠时执行该功能
  2. 通过让函数在单击时执行,手风琴展开与函数之间的关系是间接的。我宁愿让它直接检测手风琴的扩展而不是点击。

在仍然使用 aria-expanded 的同时这很容易做到吗?

标签: javascripthtmlangularjstwitter-bootstrapangular-ui-bootstrap

解决方案


推荐阅读