Javascript 如何在google图表(饼图)上检测双击事件

Javascript 如何在google图表(饼图)上检测双击事件,javascript,jquery,google-visualization,Javascript,Jquery,Google Visualization,如何在google图表上检测双击事件?这是我的密码: Jquery提供了一个可以使用的双击事件。正如您在这里的示例中所看到的: $("p").dblclick( function () { alert("Hello World!"); }); 您可以在jQuery页面中找到更多信息,它就在这里:我想现在有点晚了,但是使用了一些类似于 google.visualization.events.addListener(chart, 'select', columnselectHandler)

如何在google图表上检测双击事件?这是我的密码:


Jquery提供了一个可以使用的双击事件。正如您在这里的示例中所看到的:

$("p").dblclick( function () { alert("Hello World!"); });

您可以在jQuery页面中找到更多信息,它就在这里:

我想现在有点晚了,但是使用了一些类似于

   google.visualization.events.addListener(chart, 'select', columnselectHandler)
   var status = 0;

   function columnselectHandler(e) {
            var selection = chart.getSelection();
            var selectedItem = selection[0];
            var data2 = getDDData(k);
            var columndata = [] 
      if (selectedItem) {
    if (status == 0){
    var name = data.getValue(selectedItem.row, 0);
    columndata[0] =  data2[0] 
    columndata[1] =  data2[selectedItem.row+1]                          
              var chartData = new google.visualization.arrayToDataTable(columndata);
        chart.draw(chartData, {width: 1200, height:500}, options);
        var button = document.getElementsByClassName("backToMain")[0];        
          button.setAttribute("id",chartType)
         button.setAttribute("style","display:inline; margin-top:150px; font-size:30px; position:absolute;")` 

我知道这是一个老问题,但我已经尝试了一个小技巧如何检测双击。仅仅通过测量它。这肯定不是一个好的或健壮的解决方案,但它似乎有效

var firstClick = 0;
var secondClick = 0;

google.visualization.events.addListener(chart, 'click', function () {
    var date = new Date();
    var millis = date.getTime();

    if (millis - secondClick > 1000) {        
        // add delayed check if a single click occured
        setTimeout(function() {
            // no second click fast enough, it is a single click
            if (secondClick == 0) {
                alert("click");
            }
        }, 250);
    }

    // try to measure if double-clicked
    if (millis - firstClick < 250) {        
        firstClick = 0;
        secondClick = millis;

        alert("doubleClick");

    } else {
        firstClick = millis;
        secondClick = 0;
    }
});    
var firstClick=0;
var secondClick=0;
google.visualization.events.addListener(图表,'单击',函数(){
变量日期=新日期();
var millis=date.getTime();
如果(毫秒)单击>1000{
//如果发生单击,则添加延迟检查
setTimeout(函数(){
//没有第二次点击足够快,这是一个单一的点击
如果(第二次单击==0){
警报(“点击”);
}
}, 250);
}
//尝试测量是否双击
如果(毫秒-firstClick<250){
firstClick=0;
秒点击=毫秒;
警报(“双击”);
}否则{
firstClick=millis;
secondClick=0;
}
});    
JSFiddle to it is.

我做了以下工作

    var clicks = 0;

    function selectHandler() {

      clicks++;

      setTimeout(function() {
          if (clicks >= 2) {
              alert("double click");

          }
          clicks = 0;
      }, 250);



    }

    //bind the select event with chart
    google.visualization.events.addListener(chart, 'select', selectHandler);

我是通过收听chart_div(容器)的双击事件来实现的

conatiner=document.getElementById('chart_div')


container.addEventListener('dblclick',(e)=>console.log('双击')

没有人会在iframe中显示google图表,我们无法使其可点击,这就是为什么我在这里问你该怎么做?如果你只需要双击图表,你可以用它来双击iframe。也许我弄错了,但我看到你已经有了一个活动,所以双击应该是一样的。哥们,我从今天早上开始搜索,对此一无所知,我认为谷歌图表中不支持dblclick事件。是的,我也有同样的问题。我希望它有click和dblclick。一个缺点是在一次单击时会减慢响应速度(在可能的第二次单击时等待250毫秒)。我不知道如何改进它,但像Windows这样的UI系统似乎有一个解决方案。一次点击就没有延迟。
    var clicks = 0;

    function selectHandler() {

      clicks++;

      setTimeout(function() {
          if (clicks >= 2) {
              alert("double click");

          }
          clicks = 0;
      }, 250);



    }

    //bind the select event with chart
    google.visualization.events.addListener(chart, 'select', selectHandler);