有没有办法暂时(和编程)阻止vis.js网络中的交互事件处理? (即点击,翻转等)。我想这样做是为了避免与实现“时间流逝”的其他代码进行讨厌的交互。功能(即,它基本上以连续的方式显示网络的不同部分,设置间隔)。换句话说,我想知道在脚本执行时是否可以阻止vis.js绘制以响应不是由我的脚本发起的事件。我注意到有一个“clickToUse”'功能,但在这种情况下它不会很好,因为我需要脚本本身来确定何时停止阻止事件处理。 任何建议将不胜感激。谢谢!
答案 0 :(得分:1)
您需要操纵interaction options
。例如:
// Save interaction options to saveOpt variable
//
var saveOpt = {
interaction: JSON.parse( JSON.stringify( network.interactionHandler.options ) )
};
// Set all interaction options to false:
//
var newOpt = { interaction: {} };
Object.keys( saveOpt.interaction ).forEach( function(k) {
// Except number
if (typeof saveOpt.interaction[k] !== 'number') {
newOpt.interaction[k] = false;
}
});
// Prevent any interactions
//
network.setOptions( newOpt );
// Allow interactions (restore saved)
//
network.setOptions( saveOpt );