AngularJS kullanarak sayfa yüklemesinde programlı olarak bir açılır menünün tıklama olayını tetiklemenin mümkün olup olmadığını sorabilir miyim?AngularJs - "click" olayını programlı olarak başlatarak bir Bootstrap açılır menüsünü açma (NO jQuery)
Olmak istediğim, sayfayı yükledikten sonra, gezinme menümün otomatik olarak görüntülenmesidir. ancak yapamadım, ben gerçekten yakın olduğum bir his var
$scope.displayMainMenu = function() {
var domElement = document.getElementById('nav-burger');
alert('before timeout'); // <-- This gets triggered
$timeout(function() {
angular.element(domElement).triggerHandler('click');
}, 0);
alert('after timeout'); // <-- This doesn't get triggered...
}
:
Bu
Bugüne kadar ne var:<li class="menu-item" style="margin-top:15px">
<!-- Single button -->
<div class="btn-group open" uib-dropdown is-open="status.isopen">
<!-- Hamburger menu -->
<img ng-init="displayMainMenu()" id="nav-burger" uib-dropdown-toggle ng-disabled="disabled" ng-click="sMainMenu=true; isSubMenu=resetMenu(); getLinks(); bStopPropagation=true;" src="img/burger.png">
<!-- Main menu -->
<ul uib-dropdown-menu role="menu" aria-labelledby="single-button" ng-click="bStopPropagation && $event.stopPropagation()">
<!-- Main Menu -->
<li role="menuitem" class="main-menu-item" ng-repeat="link in links" ng-click="whatMenu(link.name); isSubMenu=false;" ng-show="isMainMenu">
<img id="{{link.icon}}">{{link.name}}<img class="navi-expand-icon">
</li>
<!-- End Main Menu -->
</ul>
</div>
</li>
Ve bu benim Açısal JS kodu neden çalışmadığını anlamaya çalış.
Yanıtlarınız için şimdiden teşekkür ederiz. Bu yüzden bir yazım hatası yapmış sanırım sen ng-show="isMainMenu"
isMainMenukullandık liste öğeleri göstermek için, Ancak ng-click="sMainMenu=true;"
:
$ aşımı ilan mı ve bunu sizin projenize dahil oldu? Herhangi bir konsol hatası aldınız mı? – Matheno
1. Hayır, ben sadece bunu SO'da başka bir sorudan aldım. İdeal olarak $ timeout bildirmeliyim? 2. "TypeError: Object," done "özelliğini veya özelliğini desteklemiyor. Bunun anlamını bilmiyorum ... –