在介绍开始后,IntroJS可以“刷新”突出显示的元素吗?

时间:2013-11-01 15:35:22

标签: javascript web intro.js

使用introJS和Backbone视图时遇到问题: 我设置introJS的代码是这样的:

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

但是在第一步中,如果用户在突出显示的区域(#id1)中执行某些操作,则骨干视图将重新呈现“#id2”元素,从而导致introJS在执行步骤2时失败。

有没有办法在介绍中间“刷新”元素,所以在我的情况下,即使在介绍开始后重新生成,也可以通过introJS找到#id2?

1 个答案:

答案 0 :(得分:3)

如果您仅将inroJS用作UI演练,那么您可以执行以下操作

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;
}