js鼠標(biāo)單擊和雙擊事件沖突問題的快速解決方法
來源:易賢網(wǎng) 閱讀:933 次 日期:2016-07-28 15:58:15
溫馨提示:易賢網(wǎng)小編為您整理了“js鼠標(biāo)單擊和雙擊事件沖突問題的快速解決方法”,方便廣大網(wǎng)友查閱!

下面小編就為大家?guī)硪黄猨s鼠標(biāo)單擊和雙擊事件沖突問題的快速解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。

情況一

如果在一個(gè)DOM對象上同時(shí)綁定單擊(click)和雙擊(dblclick)事件,當(dāng)在這個(gè)DOM對象上發(fā)生雙擊事件時(shí),第一次點(diǎn)擊(click)會(huì) 觸發(fā)一次單擊(click)事件,第二次點(diǎn)擊(連續(xù)的)也會(huì)觸發(fā)雙擊(dblclick)事件,還是會(huì)觸發(fā)單擊(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>

解釋:

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

第二種:

<title>區(qū)分單擊和雙擊-www.jb51.net</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鼠標(biāo)單擊和雙擊事件沖突問題的快速解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:js鼠標(biāo)單擊和雙擊事件沖突問題的快速解決方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)