亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

單擊和雙擊事件的沖突處理示例代碼

 更新時(shí)間:2014年04月03日 16:42:15   作者:  
這篇文章主要介紹了單擊和雙擊事件的沖突處理方法,需要的朋友可以參考下
先上代碼:
復(fù)制代碼 代碼如下:

<head>
<title></title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(function () {
$("div").bind("click.a", function () { //單擊事件
$("body").append("<p>click事件</p>");
})
$("div").bind("dblclick.a", function () { //雙擊事件
$("body").append("<p>dblclick事件</p>");
})
$("div").bind("mouseover.a", function () { //鼠標(biāo)經(jīng)過元素的事件
$("body").append("<p>mouseover事件</p>");
})
$("div").bind("mouseout.a", function () { //鼠標(biāo)移出元素的事件
$("body").append("<p>mouseout事件</p>");
})
})
</script>
</head>
<body>
<div>jQuery命名空間</div>
</body>

效果如圖所示,我雙擊的同時(shí),會(huì)先觸發(fā)兩個(gè)單擊事件,這是怎么回事?還有,如果我不想在雙擊的時(shí)候觸發(fā)

單擊事件,而僅僅只是觸發(fā)雙擊事件,那該怎么解決?我也有試過在雙擊的時(shí)候,先把單擊事件解綁,

可這樣一來,單擊事件又不能用了。。。

 

后來在論壇問別人,終于有了答案。那就是使用setTimeout()這個(gè)方法設(shè)置單擊事件的時(shí)間間隔,這個(gè)時(shí)間間隔一般
設(shè)為300ms,這樣在雙擊的時(shí)候,由于雙擊的時(shí)間間隔小于300ms,所以就不會(huì)產(chǎn)生click事件,而僅僅只是產(chǎn)生
dblclick事件。在雙擊事件里面,需要用clearTimeout()函數(shù)清除click事件的處理。代碼如下:
復(fù)制代碼 代碼如下:

<script type="text/javascript" language="javascript">
$(function () {
var timer = null;
$("div").bind("click.a", function () { //單擊事件
clearTimeout(timer);
timer = setTimeout(function () { //在單擊事件中添加一個(gè)setTimeout()函數(shù),設(shè)置單擊事件觸發(fā)的時(shí)間間隔
$("body").append("<p>click事件</p>");
}, 300);

})
$("div").bind("dblclick.a", function () { //雙擊事件
clearTimeout(timer); //在雙擊事件中,先清除前面click事件的時(shí)間處理
$("body").append("<p>dblclick事件</p>");
})
$("div").bind("mouseover.a", function () { //鼠標(biāo)經(jīng)過元素的事件
$("body").append("<p>mouseover事件</p>");
})
$("div").bind("mouseout.a", function () { //鼠標(biāo)移出元素的事件
$("body").append("<p>mouseout事件</p>");
})
})
</script>

如此,這個(gè)問題就解決了!

相關(guān)文章

最新評(píng)論