onkeyup和onkeydown事件的區別
這兩個事件都是關於鍵盤按鍵的,從字面意思看,一個是當按鍵鬆開的時候被觸發,一個是當按鍵按下的時候觸發,當然這個是再簡單不過的了(與等於廢話)。不過有時候可能不注意兩個的一些細節可就可能導致一些錯誤,程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>文字框輸入統計</title> <style type="text/css"> span{ color:red; } </style> <script type="text/javascript"> var len; function tongji(){ num.innerHTML=this.innerHTML.length; } window.onload=function(){ var mytest=document.getElementById("mytest"); var num=document.getElementById("num"); mytest.onkeydown=tongji; } </script> </head> <body> <textarea id="mytest"></textarea> 當前字元長度:<span id="num">0</span> </body> </html>
以上程式碼是我們用onkeydown事件實現的文字框輸入字元長度統計效果。俺是在實際應用中卻存在這樣的問題,當輸入以內字元的時候第一個字元無法統計,輸入漢字的時候最開始一次性輸入的漢字無法統計。如果把修改成onkeyup事件就沒有任何問題了。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>文字框輸入統計</title> <style type="text/css"> span{ color:red; } </style> <script type="text/javascript"> var len; function tongji(){ num.innerHTML=this.innerHTML.length; } window.onload=function(){ var mytest=document.getElementById("mytest"); var num=document.getElementById("num"); mytest.onkeyup=tongji; } </script> </head> <body> <textarea id="mytest"></textarea> 當前字元長度:<span id="num">0</span> </body> </html>
以上程式碼實現了正確的輸入統計。下面簡單介紹一下原因:
onkeydown是鍵盤按鍵按下時候觸發,但是這個時候,鍵值並沒有輸出,說以就無法統計到。
相關文章
- input事件和change事件區別事件
- focusout和blur事件的區別事件
- onclick和onmousedown事件區別事件
- onmouseleave和onmouseout事件的區別事件
- jQuery mouseout和mouseleave事件的區別jQuery事件
- 事件關鍵詞 bind 和 catch 的區別、事件物件 target 和 currentTarget 的差異事件物件
- 命令和事件有什麼區別? - Oskar事件
- touch事件與click事件區別事件
- 蘋果手機輸入中文不會觸發onkeyup事件蘋果事件
- onclick與click事件的區別事件
- focusin與focus事件的區別事件
- W3C的事件處理和IE的事件處理有哪些區別?事件
- 安卓觸控事件與單擊事件的區別安卓事件
- 非同步API中事件、命令和狀態區別非同步API事件
- Javascript中的事件物件和事件型別JavaScript事件物件型別
- ../和./和/的區別
- input與change事件區別事件
- 和 的區別
- as 和 with的區別
- ||和??的區別
- /*和/**的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- 臨界區,互斥量,訊號量,事件的區別事件
- ./ 和sh 的區別
- JQuery this和$(this)的區別jQuery
- jquery $(this) 和this的區別jQuery
- T和?的區別
- ++a和a++的區別
- makefile =和:=的區別
- React事件與普通HTML事件有什麼區別React事件HTML
- keyup,keypress,keydown事件的區別事件
- javascript對點選事件和拖動事件的區分JavaScript事件
- Mybatis中#{}和${}傳參的區別及#和$的區別小結MyBatis
- 和區別
- loadend 與 load 事件區別事件
- javascript事件冒泡和事件捕獲型別JavaScript事件型別
- MYSQL和SQL的區別MySql