教程集 www.jiaochengji.com
教程集 >  脚本编程  >  javascript  >  正文 js鼠标单击与双击事件共存

js鼠标单击与双击事件共存

发布时间:2015-06-07   编辑:jiaochengji.com
如何实现js鼠标单击与双击事件共存,本文分享一个解决方法,有需要的朋友参考下。

使用js实现鼠标单击与双击事件共存的简单实例。

一直都认为在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>js实现鼠标单击与双击事件共存_www.jiaochengji.com</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>

您可能感兴趣的文章:
JS实现超链接同时绑定鼠标单击与双击事件的代码
js鼠标单击与双击事件共存
js鼠标单击和双击事件冲突问题的解决方法
javascript 鼠标单击和双击事件并存的实现方法
artDialog双击会关闭对话框的修改过程分享
js鼠标双击事件不触发单击事件的实现代码
Js鼠标事件大全(最新,最全的版本)
javascript键盘鼠标等事件对照表
jquery事件机制扩展插件 jquery鼠标右键事件
js 事件-禁止右键与文本选择

关键词: js 鼠标双击  js鼠标事件   
[关闭]
~ ~