2016-05-12 5 views
0

私はintro.jsと呼ばれる角度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あなたと私は同じ時に同じ解決策になったよ。 – Richard

+0

笑ええ、それは同じ正確な時間だった! – Akis

答えて

1

私はタイムアウトの中で呼び出しをラップするだけでした。

MainCtrl.prototype.startHelp = function() { 
    var _this = this; 
    _this.$timeout(function() { 
     angular.element('#drop-down-button').trigger('click'); 
    }, 0, false); 
    _this.CallMe(); 
}; 
関連する問題