我使用vis.js创建了一个时间线图表。我有很多vis-box项目。因为我可以在时间轴上显示非常有限的信息。因此,我希望在项目上的用户移动设备上显示该项目的详细信息。
我在此网址http://visjs.org/docs/timeline/#Events查看时间线事件的文档。我看到如何处理选择事件。
我想知道如何为项目添加鼠标悬停事件?
感谢。
这适用于选择事件
function onSelect (properties) {
alert('selected items: ' + properties.nodes);
}
// add event listener
timeline.on('select', onSelect);
如何为项目添加鼠标悬停事件?
timeline.on('mouseover', onMouseover)?
以下是代码https://jsfiddle.net/gbdjbdhv/17/
感谢您的帮助!
答案 0 :(得分:5)
您可以将常规JavaScript事件侦听器附加到容器DIV,并使用方法timeline.getEventProperties(event)
查看事件是否发生在项目之上。
var container = document.getElementById('visualization');
var items = new vis.DataSet([
{id: 4, className:'item4', content: 'item 4', start: '2016-01-16'},
{id: 5, className:'item5', content: 'item 5', start: '2016-02-23'},
{id: 6, className:'item6', content: 'item 6', start: '2016-03-27'}
]);
var options = {
showCurrentTime: true,
orientation: {axis: 'both', item: 'top'},
height: 400,
margin: {
axis: 100
}
};
var timeline = new vis.Timeline(container, items, options);
function onMouseover (event) {
var properties = timeline.getEventProperties(event);
// properties contains things like node id, group, x, y, time, etc.
console.log('mouseover properties:', properties);
}
container.addEventListener('mouseover', onMouseover)
docs:http://visjs.org/docs/timeline/#Methods - > getEventProperties