国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js鼠標單擊和雙擊事件沖突問題的快速解決方法

2019-11-20 09:30:45
字體:
來源:轉載
供稿:網友

情況一

如果在一個DOM對象上同時綁定單擊(click)和雙擊(dblclick)事件,當在這個DOM對象上發生雙擊事件時,第一次點擊(click)會 觸發一次單擊(click)事件,第二次點擊(連續的)也會觸發雙擊(dblclick)事件,還是會觸發單擊(click)事件(IE7與 firefox)。

解決方法:

<button onclick="test(1)" ondblclick="test(2)"></button><script language="javascript">var i = 1;function test(n)  {i = n; var val = setTimeout("call();",250); if(i==2){clearTimeout(val);}}function  call()  { if(i==1){alert('click');}else if(i==2){alert('dblclick');}} </script>

解釋:

第一次點擊記錄下點擊的時間,并設置單擊事件的Timeout(250ms比較合適),第二次點擊時判斷此時點擊的時間與上次點擊的時間間隔,如果小于指 定的事件間隔(比如250ms),則判斷為雙擊事件,并clear已設置的Timeout(避免觸發單擊事件)。

第二種:

<title>區分單擊和雙擊-www.survivalescaperooms.com</title><script type="text/javascript">var flag=0;function clickTest(){ if(!flag) { setTimeout("tt2();",300); } flag++;}function reset(){ flag=0;}function singleClick(){ var result=document.getElementByIdx_x('result'); result.innerHTML=result.innerHTML+"click<br>"; reset();}function dobuleClick(){ var result=document.getElementByIdx_x('result'); result.innerHTML=result.innerHTML+"dobule click<br>"; reset();}function tt2(){ if(flag==1) { singleClick(); } else { dobuleClick(); }}</script></head><body><input type="button" ondblclick="clickTest();" onclick="clickTest();" value="click test" /><div id="result"></div> 

以上這篇js鼠標單擊和雙擊事件沖突問題的快速解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤山市| 延寿县| 永顺县| 福清市| 阜宁县| 秦皇岛市| 沧州市| 突泉县| 建宁县| 台中市| 赣州市| 武胜县| 太仓市| 双鸭山市| 江孜县| 亳州市| 乐昌市| 泰宁县| 敖汉旗| 赣榆县| 喀喇沁旗| 巴林右旗| 永昌县| 桃江县| 长泰县| 泰顺县| 亳州市| 黄平县| 洞头县| 潮州市| 肃北| 丹棱县| 澎湖县| 达拉特旗| 安徽省| 丰都县| 武陟县| 上杭县| 城固县| 于都县| 延长县|