欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick

 更新時間:2009年02月04日 03:22:27   作者:  
昨天群里面的朋友問了個比較有意思的問題,keydown,keyup,keypress事件的先后順序。
這里給出一段測試代碼:
<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>
測試結(jié)果為:
keydown
keypress
keyup
顯而易見,事件發(fā)生的順序是: keydown --> keypress --> keyup
當(dāng)按住一個鍵一段時間后再放開時,結(jié)果為:
keydown
keypress
keydown
keypress
keydown
keypress
keydown
keypress
...
keyup
n個keydown和n個keypress,1個keyup,系統(tǒng)設(shè)置的時間間隔.
關(guān)于click和dblclick
前段時間群里面的一個朋友問過一個關(guān)于click和dblclick的問題,在這里同時也整理一下,他的要求是click和dblclick有不同的事件處理程序,但是如果觸發(fā)了dblclick則對click不做處理.如何解決?
我們先來看一下事件的發(fā)生情況,測試代碼如下:
<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>
雙擊時結(jié)果如下:
click
dblclick
當(dāng)放慢點擊速度時,結(jié)果如下:
click
click
click
可見,dblclick時,首先會觸發(fā)一個click事件,然后如果在系統(tǒng)設(shè)置的雙擊延遲時間范圍內(nèi)有第二次click事件,則被認(rèn)為是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>
雙擊測試結(jié)果如下:
dblclick
dblclick
dblclick
dblclick

相關(guān)文章

  • IP地址輸入框

    IP地址輸入框

    IP地址輸入框...
    2006-08-08
  • JavaScript操作localStorage實現(xiàn)保存本地json文件

    JavaScript操作localStorage實現(xiàn)保存本地json文件

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何操作localStorage實現(xiàn)保存本地json文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • JavaScript判斷數(shù)組的方法總結(jié)與推薦

    JavaScript判斷數(shù)組的方法總結(jié)與推薦

    這篇文章主要給大家介紹了關(guān)于JavaScript判斷數(shù)組方法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-02-02
  • 使用JavaScript動態(tài)設(shè)置樣式實現(xiàn)代碼及演示動畫

    使用JavaScript動態(tài)設(shè)置樣式實現(xiàn)代碼及演示動畫

    使用onmouseover和onmouseout事件實現(xiàn)不同的效果而且是使用js動態(tài)實現(xiàn),本文有利于鞏固你js與css方面的知識,感興趣的你可以了解下哦,希望本文對你有所幫助
    2013-01-01
  • JS實現(xiàn)課程表小程序(仿超級課程表)加入自定義背景功能

    JS實現(xiàn)課程表小程序(仿超級課程表)加入自定義背景功能

    這篇文章主要介紹了JS實現(xiàn)課程表小程序(仿超級課程表)加入自定義背景功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 微信小程序獲取手機(jī)網(wǎng)絡(luò)狀態(tài)的方法【附源碼下載】

    微信小程序獲取手機(jī)網(wǎng)絡(luò)狀態(tài)的方法【附源碼下載】

    這篇文章主要介紹了微信小程序獲取手機(jī)網(wǎng)絡(luò)狀態(tài)的方法,涉及微信小程序wx.getNetworkType函數(shù)檢查網(wǎng)絡(luò)連接狀態(tài)的相關(guān)使用技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2017-12-12
  • JS淺拷貝和深拷貝原理與實現(xiàn)方法分析

    JS淺拷貝和深拷貝原理與實現(xiàn)方法分析

    這篇文章主要介紹了JS淺拷貝和深拷貝原理與實現(xiàn)方法,結(jié)合實例形式分析了javascript淺拷貝及深拷貝相關(guān)概念、原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2019-02-02
  • 詳解JavaScript的流程控制語句

    詳解JavaScript的流程控制語句

    這篇文章主要介紹了JavaScript的流程控制語句,感興趣的小伙伴們可以參考一下
    2015-11-11
  • typescript在node.js下使用別名(paths)無效的問題詳解

    typescript在node.js下使用別名(paths)無效的問題詳解

    這篇文章主要給大家介紹了關(guān)于typescript在node.js下使用別名(paths)無效問題的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-07-07
  • 淺析js的模塊化編寫 require.js

    淺析js的模塊化編寫 require.js

    requirejs是一個JavaScript文件和模塊加載器。requireJS允許你把你的javascript代碼獨立成文件和模塊,同時管理每個模塊間的依賴關(guān)系。本文主要對require.js的使用與工作原理進(jìn)行系統(tǒng)介紹。需要的朋友來看下吧
    2016-12-12

最新評論