作家
登录

javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick

作者: 来源:www.28hudong.com 2013-03-30 02:44:59 阅读 我要评论

这里给出一段测试代码: <script type="text/javascript"> document.onkeydown = function(){ document.getElementById("test").innerHTML += "keydown<br/>"; } document.onkeyup = function(){ document.getElementById("test").innerHTML += "keyup<br/>"; } document.onkeypress = function(){ document.getElementById("test").innerHTML += "keypress<br/>"; } </script> <div id="test"></div> 测试结果为: keydown keypress keyup 显而易见,事件发生的顺序是: keydown --> keypress --> keyup 当按住一个键一段时间后再放开时,结果为: keydown keypress keydown keypress keydown keypress keydown keypress ... keyup n个keydown和n个keypress,1个keyup,系统设置的时间间隔. 关于click和dblclick 前段时间群里面的一个朋友问过一个关于click和dblclick的问题,在这里同时也整理一下,他的要求是click和dblclick有不同的事件处理程序,但是如果触发了dblclick则对click不做处理.如何解决? 我们先来看一下事件的发生情况,测试代码如下: <script type="text/javascript"> document.onclick = function(){ document.getElementById("test").innerHTML += "click<br/>"; } document.ondblclick = function(){ document.getElementById("test").innerHTML += "dblclick<br/>"; } </script> <div id="test"></div> 双击时结果如下: click dblclick 当放慢点击速度时,结果如下: click click click 可见,dblclick时,首先会触发一个click事件,然后如果在系统设置的双击延迟时间范围内有第二次click事件,则被认为是dblclick事件. 那么如何解决这位朋友提出的问题呢?给出代码如下: <script type="text/javascript"> function clickTest(){ document.getElementById("test").innerHTML += "click<br/>"; } function dblclickTest(){ document.getElementById("test").innerHTML += "dblclick<br/>"; } document.onclick = function(){ this.timeout = window.setTimeout(clickTest,300); } document.ondblclick = function(){ if(this.timeout)window.clearTimeout(this.timeout); dblclickTest(); } </script> <div id="test"></div> 双击测试结果如下: dblclick dblclick dblclick dblclick

  推荐阅读

  JavaScript入门教程(1) 什么是JS

JavaScript 参考教程   本教程为未接触过 JavaScript 的读者提供了比较完善的初级知识,但只限于初级知识:所有与动态网页密切相关的 JavaScript 在本教程中都未提及,包括动态定位、动画、让文档接收更多事件(d>>>详细阅读


本文标题:javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick

地址:http://www.17bianji.com/kaifa2/JS/29003.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)