簡體   English   中英

角度停止事件傳播

[英]Angular Stopping event propagation

這是我以前的擴展張貼在這里 我把一切都搞定了,但我有一個問題。 當我開始介紹時,下拉菜單打開就像我想要的那樣,但是當我點擊介紹窗口內的按鈕(下一個,上一個)時,下拉菜單關閉。 如果我使用我的箭頭鍵導航介紹它保持打開狀態。 那么即使我使用介紹窗口按鈕導航介紹,如何讓下拉列表保持打開狀態。

這是js部分供參考:

MainCtrl.prototype.startHelp = function() {
    var _this = this;
    _this.$timeout(function () {
        angular.element('#drop-down').click();
    }, 0, false);
    _this.CallMe();
};

你可以嘗試添加以下按鈕單擊事件處理函數:

function onClickedNext(event) {
... 
event.preventDefault();
event.stopPropagation();
}

這可能為時已晚。 但我通過修改intro.js代碼實現了這一點。 只需停止intro.js文件中定義的“nextTooltipButton”中的單擊事件傳播即可。

更改onclick listner函數:

//next button
var nextTooltipButton = document.createElement('a');

  nextTooltipButton.onclick = function() {
    if (self._introItems.length - 1 != self._currentStep) {
      _nextStep.call(self);
    }
  };

至 :

  //next button
  var nextTooltipButton = document.createElement('a');

  nextTooltipButton.onclick = function() {
    if (self._introItems.length - 1 != self._currentStep) {
      _nextStep.call(self);
      var e = window.event;
      e.stopPropagation();
    }
  };

適用於Chrome瀏覽器版本56.0.2924.87。 截至今天,這段代碼片段就在這里

我們不需要角度方面的其他變化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM