0
我使用引導庫,當我單擊下拉切換類時,將按預期顯示/隱藏下拉列表(因此稱爲切換)。在Angular應用程序中使用下拉切換引導問題
如果我點擊HTML代碼片段底部的圖片,這將激活在javascript代碼中找到的ng-click角度指令。
此代碼只是通過檢查是否顯示下拉菜單來檢查是否顯示.dropdown類具有'open'類。如果不是,那麼它會打開在新窗口中傳遞的url,否則它將刪除隱藏下拉菜單的'open'類。
我遇到的問題是,如果我嘗試點擊相同的.dropdown類再次激活下拉菜單,它只會在我再次單擊兩次後纔會出現?
我顯然不是通過刪除'open'類來破壞下拉菜單的正確方法嗎?任何人都可以提出我做錯了什麼?如果我不點擊圖片(因此不激活ng-click這一切都可以正常工作),所以問題與doInteractionBodyEvent()有關,並且不知何故我不能正確地「銷燬」下拉列表。
// HTML
<div class="dropdown-toggle" type="button" id="dropdown1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="material-icons">more_vert</span>
</div>
<div>
<div ng-if="interaction.media[0].image" class="image">
<a ng-click="doInteractionBodyEvent(interaction.media[0].href)">
<img ng-src="{{interaction.media[0].image.replace('amp;','')}}" />
</a>
</div>
</div>
//使用Javascript角控制器
$scope.doInteractionBodyEvent = function(url) {
if (angular.element('.dropdown').hasClass('open')) {
angular.element('.dropdown').removeClass('open');
} else {
$window.open(url, '_blank');
}
}
「下拉菜單」 當你點擊鏈接,你不需要添加類.open嗎? – Mark
你試過'angular.element('。dropdown')。dropdown('toggle');'? – Jag