高级图表有双击事件,如?
plotOptions: {
series: {
cursor: 'pointer',
marker: {
radius: 2
},
point: {
events: {
// like this any event?If not, any alternative
dbclick: function () {
$('.highcharts-tooltip').show();
},
click: function () {
$('.highcharts-tooltip').show();
},
mouseOver: function () {
$('.highcharts-tooltip').hide();
},
mouseOut: function () {
$('.highcharts-tooltip').hide();
}
}
}
}
}
我想要实现的是,我想在双击点上显示工具提示。
答案 0 :(得分:3)
您可以使用扩展程序,允许执行此操作。
http://www.highcharts.com/plugin-registry/single/15/Custom-Events
答案 1 :(得分:2)
我尝试使用扩展程序,但它没有用,所以我决定写一个小的双击事件(基于点击事件)。
缺点是它被封装在'click'事件中,但这不是一个大问题,因为它调用了一个单独的函数。
首先,定义设置:
var doubleClicker = {
clickedOnce : false,
timer : null,
timeBetweenClicks : 400
};
然后定义一个'双击重置'功能,以防双击不够快和双击回调:
// call to reset double click timer
var resetDoubleClick = function() {
clearTimeout(doubleClicker.timer);
doubleClicker.timer = null;
doubleClicker.clickedOnce = false;
};
// the actual callback for a double-click event
var ondbclick = function(e, point) {
if (point && point.x) {
// Do something with point data
}
};
并在图表的highcharts设置中:
series: [{
point: {
events: {
click: function(e) {
if (doubleClicker.clickedOnce === true && doubleClicker.timer) {
resetDoubleClick();
ondbclick(e, this);
} else {
doubleClicker.clickedOnce = true;
doubleClicker.timer = setTimeout(function(){
resetDoubleClick();
}, doubleClicker.timeBetweenClicks);
}
}
}
}
}]
答案 2 :(得分:1)
您可以在具有图表的容器的dom元素上添加ondblclick事件侦听器。目前,highcharts似乎无法处理该事件,因此该事件将简单地传播到容器中。
答案 3 :(得分:0)
我将捕获变量用作双击参数。设为true时,我清除了doubleclick。
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
if (clickdouble == ('Category: ' + this.category + ', value: ' + this.y)) {
alert('Category: ' + this.category + ', value: ' + this.y);
clickdouble = '';
}else{
clickdouble = 'Category: ' + this.category + ', value: ' + this.y;
}
}
}
}
}
对我有用。