手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
摘要:这里给出一段测试代码:document.onkeydown=function(){document.getElementById("test...

这里给出一段测试代码:

<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 onkeydown,onkeyup,onkeypress,onclick,ondblclick】相关文章:

Javascript进制转换实例

javascript中clipboardData对象用法

javascript下使用Promise封装FileReader

简单分析javascript面向对象与原型

js实现一个链接打开两个链接地址的方法

javascript实现带下拉子菜单的导航菜单效果

JavaScript 正则表达式中global模式的特性

jQuery常用知识点总结以及平时封装常用函数

Bootstrap基础学习

javascript实现控制的多级下拉菜单

精品推荐
分类导航