JS实现鼠标单击与双击事件共存

2019-12-23,,,

一直都认为在Web开发中,双击事件都是少至又少地使用,直到最近项目需要,要在一个按钮上绑定单击与双击两件事件。开始也觉得不就是给按钮绑下两个事件而已罢了……只是后来才明白,是我想得太简单,在双击事件触发的同时也会触发单击的~囧


通过一番研究后,终于利用JS中“setTimeout”延时执行方法的办法,将单击延迟300毫秒执行才解决了,代码如下:
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>   
<title></title>   
<mce:script src="jquery-1.6.min.js" mce_src="jquery-1.6.min.js" type="text/javascript"></mce:script>   
<mce:script type="text/javascript">
<!--       
$(function () {           
var num = 0;           
var timeFunName = null;           
$("button").bind("click", function () {               
// 取消上次延时未执行的方法               
clearTimeout(timeFunName);               
// 延时300毫秒执行单击               
timeFunName = setTimeout(function () {                   
num++;                   
$("textarea").val($("textarea").val() + "第" + num + "次事件,事件名:单击/n");               
}, 300);            }).bind("dblclick", function () {               
// 取消上次延时未执行的方法               
clearTimeout(timeFunName);               
num++;               
$("textarea").val($("textarea").val() + "第" + num + "次事件,事件名:双击/n");           
});       
});   
// --></mce:script>
</head>
<body>   
<textarea rows="20" cols="50"></textarea><button type="button">提交</button></body></html>

您可能感兴趣的文章:

  • JavaScript给按钮绑定点击事件(onclick)的方法
  • js动态添加的DIV中的onclick事件简单实例
  • javascript 动态改变onclick事件触发函数代码
  • IE8的JavaScript点击事件(onclick)不兼容的解决方法
  • JavaScript获取onclick、onchange等事件值的代码
  • js动态添加onclick事件可传参数与不传参数
  • javascript使用onclick事件改变选中行的颜色
  • javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
  • JS中双击和单击事件冲突的解决方法
  • js鼠标单击和双击事件冲突问题的快速解决方法
  • JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法

《JS实现鼠标单击与双击事件共存.doc》

下载本文的Word格式文档,以方便收藏与打印。