Events 如何为vis.js时间线引发单击事件(在ClickUse选项设置为True时获取单击结果)?

Events 如何为vis.js时间线引发单击事件(在ClickUse选项设置为True时获取单击结果)?,events,click,timeline,vis.js,raise,Events,Click,Timeline,Vis.js,Raise,在一个使用PHP代码生成的vis.js的项目中,我有多个时间表 时间线有一个名为clickToUse的选项,如果该选项设置为True,则当用户单击时间线时,它会导致选中特定的时间线,从而在其周围显示阴影轮廓 我使用了一个附加的div标题,标题和下面关于时间线的各种信息 我希望在单击header div时,从代码中选择时间线(使其具有阴影轮廓),以便在用户单击时间线时发生一些事情 如何做到这一点?任何帮助都将不胜感激。我终于明白了,这是我的解决方案。首先,我必须使用stopPropagation,

在一个使用PHP代码生成的vis.js的项目中,我有多个时间表

时间线有一个名为clickToUse的选项,如果该选项设置为True,则当用户单击时间线时,它会导致选中特定的时间线,从而在其周围显示阴影轮廓

我使用了一个附加的div标题,标题和下面关于时间线的各种信息

我希望在单击header div时,从代码中选择时间线(使其具有阴影轮廓),以便在用户单击时间线时发生一些事情


如何做到这一点?任何帮助都将不胜感激。

我终于明白了,这是我的解决方案。首先,我必须使用stopPropagation,因为基本上vis.js会在用户单击时间线以外的任何位置时停用时间线。因此,点击标题div将在我们激活它之后立即停用时间线

查看vis.js代码,我发现当clickToUse设置为true时,它使用一个Activator对象来处理激活/停用。如果设置为false,则不会在时间线对象中传播激活器。Activator对象有一个可以调用的“activate”和“deactivate”函数(以及其他一些函数)(vis.js文档中没有写这个函数)

因此,我使用了以下代码,它是有效的:

document.getElementById('headerdiv').addEventListener('click', function() {
  event.stopPropagation();
  timeline.activator.activate();
});
如果调用.activate(),它也会停用其他时间线(如果有多个),因此无需调用任何其他函数,因为所有内容都写入activate()函数:css更改、发射器、键绑定