【发布时间】:2015-08-04 19:09:38
【问题描述】:
我的 Angular 应用中有一个基本的 Bootstrap 手风琴。
默认情况下,手风琴由“标题”触发。我希望能够为图标触发手风琴:
<h4 class="panel-title">
<a data-ng-click="selectItem()">
<span class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-parent="#accordion" href="#collapseOne"></span>
Collapsible Group Item #1
</a>
</h4>
这工作正常(在某种程度上),但它没有给我我正在寻找的结果。
在我的应用程序中,人们将能够通过单击标题来选择项目,而单击“触发器”将显示该特定项目的子项(而不是选择它)。
如果我保持原样保留代码,则在单击手风琴触发器后会选择该项目(我猜这是预期的结果)。
我正在寻找一种解决方案,以使项目可选择,同时保持手风琴(不会选择项目)。我试过使用 event.stopPropagation,但是当它阻止使用触发器选择项目时,手风琴不再起作用了。
Plunkr: http://plnkr.co/edit/GyuYP1sT6JWaZdLcTCS4?p=preview
有什么想法吗?
【问题讨论】:
-
您所要做的就是将
icon移到<a data-ng-click="selectItem()">上方。这是plunker... 还是我误解了你的问题? -
实际上,即使修改 HTML 也行不通。我需要 标签是完全可选择的,在这种情况下,一旦你将鼠标悬停在触发器上, 标签就不再处于“悬停”状态......所以样式消失了我已经更新了 plunker反映我需要的样式
-
通过“完全可选择”,你的意思是连标题背景都应该选择该项目?因为作为妥协,如果您将链接文本包装在
<span>中并将data-ng-click移动到那里,则图标将不再更改选择。悬停效果会起作用,但只有文本可以通过这种方式点击。 -
其实header背景也应该选择item,就好像文本在display:block;
标签: javascript angularjs twitter-bootstrap