js jq 單擊和雙擊區(qū)分示例介紹
更新時間:2013年11月05日 15:50:38 作者:
雙擊事件(dblclick)會返回一次單擊事件(click)結(jié)果和一次雙擊事件(dblclick) 結(jié)果,下面有個不錯的示例,大家可以感受下
一:原理:
先看一下點(diǎn)擊事件的執(zhí)行順序:
單擊(click):mousedown,mouseout,click;
雙擊(dblclick):mousedown,mouseout,click , mousedown,mouseout,click,dblclick;
在雙擊事件(dblclick),觸發(fā)的兩次單擊事件(click)中,第一次的單擊事件(click)會被屏蔽掉,但第二次不會。也就是說雙擊事件(dblclick)會返回一次單擊事件(click)結(jié)果和一次雙擊事件(dblclick) 結(jié)果。而不是一次雙擊事件(dblclick)結(jié)果和兩次單擊事件結(jié)果(click)。
如此這般的話,只需消滅掉多余的一次單擊事件(click),這個問題就解決了。
setTimeout
二:代碼:
//定義setTimeout執(zhí)行方法
var TimeFn = null;
$('div').click(function () {
// 取消上次延時未執(zhí)行的方法
clearTimeout(TimeFn);
//執(zhí)行延時
TimeFn = setTimeout(function(){
//do function在此處寫單擊事件要執(zhí)行的代碼
},300);
});
$('div').dblclick(functin () {
// 取消上次延時未執(zhí)行的方法
clearTimeout(TimeFn);
//雙擊事件的執(zhí)行代碼
})
先看一下點(diǎn)擊事件的執(zhí)行順序:
單擊(click):mousedown,mouseout,click;
雙擊(dblclick):mousedown,mouseout,click , mousedown,mouseout,click,dblclick;
在雙擊事件(dblclick),觸發(fā)的兩次單擊事件(click)中,第一次的單擊事件(click)會被屏蔽掉,但第二次不會。也就是說雙擊事件(dblclick)會返回一次單擊事件(click)結(jié)果和一次雙擊事件(dblclick) 結(jié)果。而不是一次雙擊事件(dblclick)結(jié)果和兩次單擊事件結(jié)果(click)。
如此這般的話,只需消滅掉多余的一次單擊事件(click),這個問題就解決了。
setTimeout
二:代碼:
復(fù)制代碼 代碼如下:
//定義setTimeout執(zhí)行方法
var TimeFn = null;
$('div').click(function () {
// 取消上次延時未執(zhí)行的方法
clearTimeout(TimeFn);
//執(zhí)行延時
TimeFn = setTimeout(function(){
//do function在此處寫單擊事件要執(zhí)行的代碼
},300);
});
$('div').dblclick(functin () {
// 取消上次延時未執(zhí)行的方法
clearTimeout(TimeFn);
//雙擊事件的執(zhí)行代碼
})
相關(guān)文章
在JavaScript中操作時間之getYear()方法的使用教程
這篇文章主要介紹了在JavaScript中操作時間之getYear()方法的使用教程,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06
Javascript 按位與賦值運(yùn)算符 (&=)使用介紹
這篇文章主要介紹了Javascript 按位與賦值運(yùn)算符 (&=)的相關(guān)資料,需要的朋友可以參考下2014-02-02
簡介JavaScript中g(shù)etUTCMonth()方法的使用
這篇文章主要介紹了簡介JavaScript中g(shù)etUTCMonth()方法的使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06

