JS中雙擊和單擊事件沖突的解決方法
在JS中代碼中同一功能塊中通常同時會用到單擊、雙擊事件,但通常會遇到一個問題,就是在雙擊的時候即執(zhí)行了一次雙擊事件,而且還執(zhí)行了兩次單擊事件。此類沖突在ZTree、DHTMLX中經(jīng)常遇到。
想要解決兩個事件沖突,需要對單擊事件進行延時,如果在此延時中又監(jiān)測到單擊事件,那么認為此兩次單擊屬于一個雙擊事件,則只執(zhí)行雙擊事件,并第一時間將延時定時器清理,以防止第二次單擊生效。
具體代碼如下:
var clickFlag = null;//是否點擊標識(定時器編號)
function doOnClick(...) {
if(clickFlag) {//取消上次延時未執(zhí)行的方法
clickFlag = clearTimeout(clickFlag);
}
clickFlag = setTimeout(function() {
// click 事件的處理
}, 300);//延時300毫秒執(zhí)行
}
function doOnDblClick(...) {
if(clickFlag) {//取消上次延時未執(zhí)行的方法
clickFlag = clearTimeout(clickFlag);
}
// dblclick 事件的處理
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- JavaScript給按鈕綁定點擊事件(onclick)的方法
- js動態(tài)添加的DIV中的onclick事件簡單實例
- javascript 動態(tài)改變onclick事件觸發(fā)函數(shù)代碼
- IE8的JavaScript點擊事件(onclick)不兼容的解決方法
- JavaScript獲取onclick、onchange等事件值的代碼
- js動態(tài)添加onclick事件可傳參數(shù)與不傳參數(shù)
- javascript使用onclick事件改變選中行的顏色
- javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
- js鼠標單擊和雙擊事件沖突問題的快速解決方法
- JS實現(xiàn)鼠標單擊與雙擊事件共存
- JS實現(xiàn)同一DOM元素上onClick事件與onDblClick事件并存的解決方法
相關(guān)文章
JS實現(xiàn)的3des+base64加密解密算法完整示例
這篇文章主要介紹了JS實現(xiàn)的3des+base64加密解密算法,結(jié)合完整實例形式分析了JavaScript實現(xiàn)的3des+base64加密解密算法簡單使用技巧,需要的朋友可以參考下2018-05-05
javascript寫一個ajax自動攔截并下載數(shù)據(jù)代碼實例
這篇文章主要介紹了javascript寫一個ajax自動攔截并下載數(shù)據(jù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09
html5+javascript實現(xiàn)簡單上傳的注意細節(jié)
這篇文章主要為大家詳細介紹了html5+javascript實現(xiàn)上傳操作的注意細節(jié),form表單樣式不美觀等細節(jié)問題,感興趣的小伙伴們可以參考一下2016-04-04
javascript電商網(wǎng)站搶購倒計時效果實現(xiàn)
這篇文章主要介紹了javascript電商網(wǎng)站搶購倒計時效果實現(xiàn)代碼,掌握日期對象Date,獲取時間的方法,感興趣的小伙伴們可以參考一下2015-11-11

