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