js鼠标双击的时候如何屏蔽单击事件呢
生活随笔
收集整理的這篇文章主要介紹了
js鼠标双击的时候如何屏蔽单击事件呢
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給id ="one"的div添加雙擊單機事件
代碼
<div id="one" style="width: 400px; height: 400px;background-color: #AAA;"></div> $("#one").click(function(event) {console.log("click")});$("#one").dblclick(function(event) {console.log("dbclick")});雙擊結(jié)果:出現(xiàn)單擊事件觸發(fā)兩次,雙擊事件觸發(fā)一次
于是乎在網(wǎng)上找到一種解決方案:
代碼
var timeout;$("#one").click(function(event) {timeout = setTimeout(function(){console.log("click")},500)});$("#one").dblclick(function(event) {clearTimeout(timeout)console.log("dbclick")});思路:通過單擊延遲觸發(fā),然后在雙擊的時候,清除延遲事件發(fā)生達到目的
結(jié)果:是啊,只是清除了一次啊 并不是清除兩次啊!還執(zhí)行了一次單擊
繼續(xù)想辦法唄,于是乎發(fā)現(xiàn)一個方法了!
代碼
var timeout;var isdb;$("#one").click(function(event) {isdb = false;timeout = setTimeout(function() {if(isdb != true)console.log("click")}, 500)});$("#one").dblclick(function(event) {isdb = true;console.log("dbclick")});雙擊結(jié)果:
哈哈 總算萬事大吉了!
思路:單擊時候做延遲,如果時間到了,你不點擊,就判斷isdb是單擊,執(zhí)行,否則結(jié)束!
轉(zhuǎn)載于:https://my.oschina.net/u/1988355/blog/751365
總結(jié)
以上是生活随笔為你收集整理的js鼠标双击的时候如何屏蔽单击事件呢的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在金融业务中跨行清算系统的实现过程
- 下一篇: Flutter Image 参数详解