鼠标的点击事件--双击时不触发单击的事件

鼠标的单击事件是鼠标点击一次触发的事件(click);双击事件是两次的单击事件.

如果在一个DOM对象上同时绑定单击(click)和双击(dblclick)事件,当在这个DOM对象上发生双击事件时,第一次点击(click)会 触发一次单击(click)事件,第二次点击(连续的)也会触发双击(dblclick)事件,还是会触发单击(click)事件(IE7与 firefox)。为了保证双击时不触发单击事件,解决办法,给单击事件添加一个计时器,当单击事件还没有触发时,取消这个事件,最后就只有双击事件的内容触发了.

<!doctype html>

<html lang="en">

<head>

<meta charset="UTF-8" />

<title>鼠标双击时不触发鼠标单击</title>

<style type="text/css">

#eventDiv{

width: 200px;

height: 200px;

background: red;

}

</style>

</head>

<body>

<div id="eventDiv">

 

</div>

</body>

<script type="text/javascript">

//1,单击事件 onclick

var timer;

eventDiv.onclick = function(){

//setTimeout 计时器(延时器)

clearTimeout(timer);//清除第一次的单击事件

//500毫秒之后运行点击事件

timer = setTimeout(function(){

eventDiv.style.background = "blue";

console.log("单击");

},500);

}

//2,双击事件

eventDiv.ondblclick = function(){

clearTimeout(timer);//清除第二次的单击事件

eventDiv.style.background = "yellow";

console.log("双击");

}

</script>

</html>

猜你喜欢

转载自blog.csdn.net/qq_45467083/article/details/106366714
今日推荐