當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript---解决单击、双击鼠标冲突
生活随笔
收集整理的這篇文章主要介紹了
JavaScript---解决单击、双击鼠标冲突
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題描述:一般情況下,雙擊鼠標(biāo)一次會執(zhí)行兩次單擊鼠標(biāo)事件和一次雙擊鼠標(biāo)事件,那么在雙擊鼠標(biāo)時如何阻止兩次單擊鼠標(biāo)事件的發(fā)生呢?
解決方法:設(shè)置定時器,當(dāng)?shù)谝淮吸c(diǎn)擊鼠標(biāo)時,記錄下點(diǎn)擊的時間,并設(shè)置單擊事件的Timeout(這里設(shè)置為300ms),第二次點(diǎn)擊時判斷此時點(diǎn)擊的時間與上次點(diǎn)擊的時間間隔,如果小于指定的時間間隔(300ms),則判定為雙擊事件,并清除已設(shè)置的Timeout,避免觸發(fā)單擊事件。
// 單擊鼠標(biāo)事件this.network.on("click", (e) => {// 使用定時器解決單擊雙擊沖突timer && clearTimeout(timer);// 雙擊鼠標(biāo)時,單擊事件仍會執(zhí)行兩次console.log("timer1=", timer);timer = window.setTimeout(() => {//延時300毫秒執(zhí)行以下代碼-單擊事件具體操作console.log("單擊鼠標(biāo)", e);}, 300);});// 雙擊鼠標(biāo)事件this.network.on("doubleClick", (e) => {console.log("timer2=", timer);// 清除已設(shè)置的Timeout,避免觸發(fā)單擊事件。window.clearTimeout(timer);// 執(zhí)行雙擊事件具體操作console.log("雙擊鼠標(biāo)", e);});?
總結(jié)
以上是生活随笔為你收集整理的JavaScript---解决单击、双击鼠标冲突的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python图案填充_Python:使用
- 下一篇: 【Kotlin-Room】 cannot