2016-05-12 112 views
1

这是我以前的post here的扩展。我有一切工作,但我有1个问题。当我开始介绍时,下拉菜单就像我想要的那样打开,但是当我点击介绍窗口中的按钮(下一个,上一个)时,下拉菜单关闭。如果我使用我的箭头键导航介绍,它保持打开状态。那么即使我使用介绍窗口按钮来浏览介绍,如何让下拉菜单保持打开状态。角停止事件传播

这里的JS部分供参考:

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

在模板中您可以传递$ event参数,然后在函数中您可以执行$ event.stopPropagation(); –

回答

0

那么你可以尝试添加以下这些按钮单击事件处理函数:

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

我到底会把这个放在哪里? – Richard

+0

让asume在您的介绍窗口中有以下html代码: 因此,您将这些添加到ng-click引用的函数中 – DonCziken

0

这可能为时已晚。但我通过修改intro.js代码实现了这一点。只需停止intro.js文件中定义的“nextTooltipButton”内的点击事件传播。

的更改此的onclick听者功能:

//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。截至今天这段代码片段是here

我们在角度方面不需要其他改变。