色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick

這里給出一段測試代碼:
<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技術javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 道孚县| 龙泉市| 永宁县| 延寿县| 曲麻莱县| 富阳市| 灵武市| 若尔盖县| 长兴县| 三台县| 鞍山市| 合山市| 彭泽县| 鄂州市| 宁陕县| 柞水县| 忻州市| 常熟市| 大同市| 青铜峡市| 涟源市| 岳阳县| 修武县| 桦甸市| 娱乐| 昭通市| 仁化县| 漾濞| 合江县| 榆社县| 蓬莱市| 鄯善县| 新河县| 灵川县| 新龙县| 永宁县| 苍溪县| 鄢陵县| 宜阳县| 台州市| 新民市|