javascript实现单击和双击并存的方法


Posted in Javascript onDecember 13, 2014

本文实例讲述了javascript实现单击和双击并存的方法。分享给大家供大家参考。具体分析如下:

在我们进行网页开发的过程中经常会遇到这么一个问题,为一个链接注册双击事件,或者让一个按钮或者其他元素上面同时注册单击或者双击事件,这时候我们发现网页中的双击事件似乎永远都不会起作用,原因是当我们点击一次的时候,就被超链接或者单击事件截获了,本文描述了一个如何解决这个技术问题的具体方法。本解决方案的实现原理是,单击事件和双击事件都调用同一个方法,我们根据两次鼠标点击的间隔时间来判断到底是单击还是双击事件。单击事件来临的时候先不调用,等一小段时间,过了这段时间,如果没有下一次单击来临就开始调用单击对应的操作,如果有下一次点击就调用双击。
详细描述请参加下面代码清单:

<HTML> 

  <HEAD> 

  <TITLE> javascript 实现单击和双击并存 </TITLE> 

  <META NAME=" Generator" CONTENT=" EditPlus" > 

  <META NAME=" Author" CONTENT=" https://3water.com/" > 

  <META NAME=" Keywords" CONTENT=" " > 

  <META NAME=" Description" CONTENT=" " > 

  </HEAD>
  <BODY> 

  <SCRIPT LANGUAGE=" JavaScript" > 

  <!--

  var dcTime=250;       // doubleclick time

  var dcDelay=100;     // no clicks after doubleclick

  var dcAt=0;               // time of doubleclick

  var savEvent=null; // save Event for handling doClick().

  var savEvtTime=0;   // save time of click event.

  var savTO=null;       // handle of click setTimeOut

  

  function showMe(txt) { 

    document.forms[0].elements[0].value += txt; 

  } 

  

  function handleWisely(which) { 

    switch (which) { 

        case " click" :            

            savEvent = which; 

            d = new Date(); 

            savEvtTime = d.getTime(); 

            savTO = setTimeout(" doClick(savEvent)" , dcTime); 

            break; 

        case " dblclick" :

            doDoubleClick(which); 

            break; 

        default:

    } 

  } 

  

  function doClick(which) { 

    if (savEvtTime - dcAt <= 0) { 

        return false; 

    } 

    showMe(" 单击" ); 

  } 

  

  function doDoubleClick(which) { 

    var d = new Date(); 

    dcAt = d.getTime(); 

    if (savTO != null) { 

        savTO = null; 

    } 

    showMe(" 双击" ); 

  }
  //--> 

  </SCRIPT>
<p> 

            <a href=" javascript:void(0)" 

                onclick=" handleWisely(event.type)" 

                ondblclick=" handleWisely(event.type)" 

                style=" color: blue; font-family: arial; cursor: hand" > 

          点击一下看看结果:

      </a> 

      </p> 

        

      <form> 

          <table> 

              <tr> 

                  <td valign=" top" > 

                    事件模式: <textarea rows=" 4" cols=" 60" wrap=" soft" > </textarea> 

                  </td> 

              </tr> 

              <tr>

                  <td valign=" top" > 

                      <input type=" Reset" > 

                  </td> 

              </tr> 

          </table> 

      </form> 

  </BODY> 

</HTML>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
Draggable Elements 元素拖拽功能实现代码
Mar 30 Javascript
JavaScript执行顺序详细介绍
Dec 04 Javascript
详解AngularJS中的表达式使用
Jun 16 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
jquery.validate使用详解
Jun 02 Javascript
全面了解javascript中的错误处理机制
Jul 18 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
Dec 08 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
JavaScript中递归实现的方法及其区别
Sep 12 Javascript
webpack打包react项目的实现方法
Jun 21 Javascript
angularJs提交文本框数据到后台的方法
Oct 08 Javascript
基于Vue CSR的微前端实现方案实践
May 27 Javascript
Javascript数组与字典用法分析
Dec 13 #Javascript
jQuery实现表单提交时判断的方法
Dec 13 #Javascript
js实现iframe跨页面调用函数的方法
Dec 13 #Javascript
javascript里使用php代码实例
Dec 13 #Javascript
jQuery使用height()获取高度需要注意的地方
Dec 13 #Javascript
js与css实现弹出层覆盖整个页面的方法
Dec 13 #Javascript
jQuery对于显示和隐藏等常用状态的判断方法
Dec 13 #Javascript
You might like
基于PHP CURL用法的深入分析
2013/06/09 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
python实现将内容分行输出
2015/11/05 Python
图文详解WinPE下安装Python
2016/05/17 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
Python模块的制作方法实例分析
2019/12/21 Python
python openCV自制绘画板
2020/10/27 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
园长自我鉴定
2013/10/06 职场文书
班组长安全工作职责
2014/07/15 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
2014年施工员工作总结
2014/11/18 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
期末考试复习计划
2015/01/19 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
写给女朋友的保证书
2015/05/09 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
pycharm无法安装cv2模块问题
2022/05/20 Python