在dataviewjs里,下面的代码:
buttoncut.onclick = handlecut;
buttoncut.ondblclick = handle2cut;
双击buttoncut时,handlecut执行了2次,handle2cut执行一次。如何才能不执行handlecut?
在dataviewjs里,下面的代码:
buttoncut.onclick = handlecut;
buttoncut.ondblclick = handle2cut;
双击buttoncut时,handlecut执行了2次,handle2cut执行一次。如何才能不执行handlecut?
一般是用一个定时器,和一个状态,来判断是单击还是双击,类似这个例子:
代码引过来:
const button = document.getElementById('button')
let timer
button.addEventListener('click', event => {
if (event.detail === 1) {
timer = setTimeout(() => {
console.log('click')
}, 200)
}
})
button.addEventListener('dblclick', event => {
clearTimeout(timer)
console.log('dblclick')
})
我在windows里,要把200改为300,才能正常识别单双击。安卓也有效。
BTW:
async 要添加在哪? 事件处理要执行await操作。