如何检测 Highcharts 图表中点的双击或长按?

use*_*877 2 events highcharts

Highcharts 提供了检测图表点点击的机会,但是否可以检测其他事件,例如双击或鼠标按下事件?

提前致谢

cfs*_*cfs 5

每个组件只支持特定事件,例如,图表组件将检测addSeriesclickloadredraw,和selection。我不相信这个集合是可扩展的,所以你不能捕获一个不同的事件,比如mousedown.

您可以尝试检查页面的来源并将侦听器附加到 HighCharts 生成的元素,但这将是一种未记录的解决方法,并且可能会在未来的版本中中断。此外,如果您必须支持 < IE9,则需要为 SVG 和 VML 生成的标记提供处理程序。

您可以通过一些活动发挥创意。下面是使用单击处理程序检测双击的示例:

工作演示

var clickDetected = false;

// create the chart
$('#container').highcharts({
    chart: {
        events: {
            click: function(event) {
                if(clickDetected) {
                    alert ('x: '+ event.xAxis[0].value +', y: '+ event.yAxis[0].value);
                    clickDetected = false;
                } else {
                    clickDetected = true;
                    setTimeout(function() {
                        clickDetected = false;
                    }, 500); 
                }
            }
        }        
    },
   ...
Run Code Online (Sandbox Code Playgroud)