首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Highcharts双击事件

Highcharts双击事件
EN

Stack Overflow用户
提问于 2014-06-17 22:29:02
回答 4查看 6.4K关注 0票数 8

高图表有双击事件,像?

代码语言:javascript
复制
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();
                }
            }
        }
    }
}

我想要实现的是,我想在双击鼠标时显示工具提示。

EN

回答 4

Stack Overflow用户

发布于 2014-06-18 18:05:18

你可以使用一个扩展,它允许这样做。

http://www.highcharts.com/plugin-registry/single/15/Custom-Events

票数 5
EN

Stack Overflow用户

发布于 2016-02-10 22:14:14

我尝试使用这个扩展,但它不起作用,所以我决定编写一个小的双击事件(基于单击事件)。

缺点是它被封装在'click‘事件中,但这不是一个大问题,因为它调用一个单独的函数。

首先,定义设置:

代码语言:javascript
复制
            var doubleClicker = {
                clickedOnce : false,
                timer : null,
                timeBetweenClicks : 400
            };

然后定义一个‘双击重置’函数,以防双击速度不够快,并定义一个双击回调:

代码语言:javascript
复制
            // 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设置中:

代码语言:javascript
复制
    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);
            }
          }

        }
       }
    }]
票数 5
EN

Stack Overflow用户

发布于 2019-07-18 06:13:56

我将该变量的捕获用作双击参数。如果是真的,我清理了doubleclick。

代码语言:javascript
复制
  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;
                }

            }
        }
    }
}

这对我很管用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24266454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档