使用introJS和Backbone视图时遇到问题: 我设置introJS的代码是这样的:
introJs.setOptions({steps: [
{element:"#id1", intro: "something about id1"},
{element:"#id2", intro: "something about id2"},
]});
但是在第一步中,如果用户在突出显示的区域(#id1)中执行某些操作,则骨干视图将重新呈现“#id2”元素,从而导致introJS在执行步骤2时失败。
有没有办法在介绍中间“刷新”元素,所以在我的情况下,即使在介绍开始后重新生成,也可以通过introJS找到#id2?
答案 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;
}