笔者在开发中遇到问题:echarts 版本为4.9.0版本,H5项目中绑定双击事件不生效(dblclick绑定不触发)。但是单击事件没问题,因工作任务紧,echarts版本也不能随意变更(其他模块也在用此特定版本),查找原因无果,所以先用了一个笨办法解决:单击模拟实现双击事件。
代码如下:
let g_clickTime = null;
let g_TimeFn = null;
let g_onItemName = '';
myChart.on('click', function (params) {
let myDate = new Date();
if (g_clickTime === null) {
// 第一次点击
g_clickTime = myDate.getMilliseconds(); // 返回时间的毫秒。
g_onItemName = params.name;
// 起一个定时器,进行重置
g_TimeFn = setTimeout(function() {
// 单击要执行的代码
g_clickTime = null;
}, 300);
} else {
clearTimeout(g_TimeFn);
// 第二次点击
if ( Math.abs(myDate.getMilliseconds() - g_clickTime) < 300 && g_onItemName === params.name) {
// 双击操作
console.log(params);
}
g_clickTime=null;
}
});
<!-- 用这个双击是不管用 -->
<!-- myChart.on('dblclick', function (params) { -->
<!-- console.log(params); -->
<!-- }); -->
参考:实现代码参考原文地址