打鍵盤的的動作有二,按下按鍵為 onKeyDown 事件,釋放按鍵,也就是按完手指離開按鍵為 onKeyUp 事件,完全動作包括按下與釋放則為 onKeyPress 事件。
舉例如下
function run1() { var s = document.getElementById("show1"); s.innerHTML = "Key down!"; } function run2() { var s = document.getElementById("show1"); s.innerHTML = "Key up!"; } function run3(event) { var s = document.getElementById("show2"); var c = String.fromCharCode(event.charCode); s.innerHTML += c; } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:event022.js 功能:示範 JavaScript 程式 作者:張凱慶 時間:西元 2011 年 8 月 */
onKeyPress 事件由 run3() 函數 (function) 進行處理,如果按下鍵盤按鍵,網頁會在 id 屬性為 show2 的元素中印出所按按鍵的字元
var s = document.getElementById("show2"); var c = String.fromCharCode(event.charCode); s.innerHTML += c;
我們以下面的 HTML 文件載入
<!DOCTYPE html> <html> <head> <title>HTML DOM DEMO</title> <script src="event022.js" type="text/javascript"></script> </head> <body> <textarea id="demo" onkeydown="run1();" onkeyup="run2();" onkeypress="run3(event);"> </textarea> <div id="show1"></div> <div id="show2"></div> </body> </html> <!-- 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:event022.html 功能:示範 JavaScript 程式 作者:張凱慶 時間:西元 2011 年 8 月 -->
其中的 <textarea> 元素設置 onkeypress 屬性,當按下鍵盤按鍵之後就會執行 run3()
<textarea id="demo" onkeydown="run1();" onkeyup="run2();" onkeypress="run3(event);">
瀏覽器 (broswer) 開啟網頁檔案,輸入 There is no spoon. 如下結果
中英文術語對照 | |
---|---|
元素 | element |
屬性 | element |
函數 | function |
瀏覽器 | broswer |
您可以繼續參考
HTML 元素的事件處理屬性
- 拷貝 oncopy
- 剪下 oncut
- 貼上 onpaste
- 離開焦點 onblur
- 更改 onchange
- 點擊 onclick
- 雙重點擊 ondbclick
- 進入焦點 onfocus
- 按住按鍵 onkeydown
- 按按鍵 onkeypress
- 釋放按鍵 onkeyup
- 按住滑鼠 onmousedown
- 滑鼠移動 onmousemove
- 離開目標元素 onmouseout
- 進入目標元素 onmouseover
- 釋放滑鼠 onmouseup
- 滾動滑鼠滾輪 onmousewheel
- 調整瀏覽器視窗大小 onresize
- 使用滑鼠滾輪 onscroll
- 滑鼠「拖」 ondrag
- 滑鼠「放」 ondrop
- 載入網頁 onload
相關目錄
HTML DOM 快速導覽
JavaScript 教材
首頁
參考資料
https://developer.mozilla.org/en/DOM/element.onkeypress
http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#elements-in-the-dom
沒有留言:
張貼留言