Javascript 如何在google图表(饼图)上检测双击事件
如何在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)
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);