国产探花免费观看_亚洲丰满少妇自慰呻吟_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>區分單擊和雙擊-m.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鼠標單擊和雙擊事件沖突問題的快速解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 濮阳市| 花莲县| 木兰县| 甘南县| 陕西省| 东乌| 左云县| 江华| 游戏| 齐齐哈尔市| 扶绥县| 麻栗坡县| 大安市| 崇阳县| 黄龙县| 宁乡县| 原阳县| 广饶县| 福州市| 原平市| 乌鲁木齐县| 汕尾市| 东丽区| 东阳市| 望奎县| 青海省| 东山县| 都昌县| 新郑市| 长顺县| 上杭县| 南安市| 石楼县| 西充县| 北票市| 寻乌县| 通州市| 建瓯市| 宁化县| 互助| 确山县|