2016-05-12 4 views
0

Я использую угловой js-плагин под названием intro.js. Вы можете найти here. То, что я хочу сделать с этим, открывает раскрывающийся список, когда пользователь нажимает кнопку демонстрации, чтобы я мог показать некоторые шаги для раскрывающихся элементов. Вот мой HTML:Угловая Объявление уже в продаже

<body ng-controller="MainCtrl as ctrl"> 
    <div ng-intro-options="ctrl.IntroOptions" 
     ng-intro-method="ctrl.CallMe"> 
      <div class="container"> 
       <button class="btn btn-success" 
       ng-click="ctrl.startHelp()">Help</button> 
      </div> 
    </div> 
</body> 

И мои JS:

MainCtrl.prototype.startHelp = function() { 
    var _this = this; 
    angular.element('#drop-down-button').trigger('click'); 
    _this.CallMe(); 
}; 

Я также попытался

angular.element('#drop-down-button').click(); 

Но та же ошибка. Вступление работает просто отлично, если я удаляю линию angular.element. Однако с включенным я получаю this error. Любая идея, как обойти это?

+0

вы можете попробовать обернуть код щелчка с SetTimeout, как это 'SetTimeout (функция() {angular.element ('# кнопка выпадающий') триггер ('щелчок');.}, 200) ; ' – Akis

+0

@Akis_Tfs haha ​​вы и я пришли к тому же решению в то же время – Richard

+0

haha ​​lol да, это было то же точное время! – Akis

ответ

1

Мне просто пришлось обернуть звонок внутри таймаута.

MainCtrl.prototype.startHelp = function() { 
    var _this = this; 
    _this.$timeout(function() { 
     angular.element('#drop-down-button').trigger('click'); 
    }, 0, false); 
    _this.CallMe(); 
}; 
Смежные вопросы