我有一个使用 bootstrap 3.3.7 和 jquery 1.12.4 的 angular 2 应用程序。代码如下:
<div class="btn-group">
<button type="button" class="btn dropdown-toggle"
title="More actions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
>
<span class="sr-only">More actions</span>
<i class="fa fa-ellipsis-v fa-lg" ></i>
</button>
<ul class="dropdown-menu dropdown-menu-right menu" role="menu">
<li>
<button *ngIf="itemViewModel.IsCopy !== true" type="button" class="btn dropdown-button" (click)="Copy($event)" title="Copy"
>
<i class="fa fa-files-o" (click)="Copy($event)"></i>
Copy
</button>
</li>
<li>
<button type="button" class="btn dropdown-button" (click)="Move($event)" title="Move">
<i class="fa fa-arrows" (click)="Move($event)"></i>
Move
</button>
</li>
<li>
<button *ngIf="itemViewModel.IsShare !== true" type="button" class="btn dropdown-button" (click)="Share($event)" title="Share">
<i class="fa fa-share " (click)="Share($event)"></i>
Share
</button>
</li>
<li>
<button type="button" class="btn dropdown-button" (click)="removeItem($event)" title="Delete">
<i class="fa fa-trash" (click)="removeItem($event)"></i>
Delete
</button>
</li>
</ul>
</div>
下拉菜单显示正常。但是,单击列表中的各个按钮不会调用关联的事件处理程序。此问题发生在 iOS 上的 Safari 浏览器和 Android 上的 Chrome 上。但是,它可以在笔记本电脑/台式机上的Edge和Chrome上完美运行。
我已经尝试了在stackoverflow和github上为早期版本的Bootstrap提供的各种解决方案,但它们不起作用。
我如何让它工作?
我通过使用ng2-bootstrap的下拉列表解决了这个问题--> https://github.com/valor-software/ng2-bootstrap