临时阻止vis.js网络中的交互事件处理

时间:2016-05-09 21:21:19

标签: vis.js

有没有办法暂时(和编程)阻止vis.js网络中的交互事件处理? (即点击,翻转等)。我想这样做是为了避免与实现“时间流逝”的其他代码进行讨厌的交互。功能(即,它基本上以连续的方式显示网络的不同部分,设置间隔)。换句话说,我想知道在脚本执行时是否可以阻止vis.js绘制以响应不是由我的脚本发起的事件。我注意到有一个“clickToUse”'功能,但在这种情况下它不会很好,因为我需要脚本本身来确定何时停止阻止事件处理。 任何建议将不胜感激。谢谢!

1 个答案:

答案 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 );