2013-11-01 31 views
2

我使用introJS與骨幹視圖一起時,有一個問題: 我設立introJS代碼是這樣的:IntroJS在開始介紹後「刷新」突出顯示的元素?

introJs.setOptions({steps: [ 
    {element:"#id1", intro: "something about id1"}, 
    {element:"#id2", intro: "something about id2"}, 
]}); 

但在第一步中,如果用戶做一些高亮區域(#ID1 ),「#id2」元素將被骨幹視圖重新渲染,導致introJS在進入步驟2時失敗。

有沒有一種方法可以在介紹中途「刷新」元素,以便在我的情況下,#id2可以通過introJS找到,即使它在介紹開始後重新生成?

回答

3

如果您正在使用inroJS僅作爲用戶界面演練那麼你可以做以下

introjs.onbeforechange(function(targetElem){ 
    var jqElem = '#' + targetElem.id; 
    $(jqElem).addClass('handle-events'); 
}); 

introjs.oncomplete(function() { 
    $('.handle-events').removeClass('handle-events'); 
}); 

和CSS,你可以添加以下行

.handle-events { 
    pointer-events: none; 
    cursor: default; 
}