HTML DOM 快速導覽 - 事件物件 event

事件物件 (object) 為函數 (function) 呼叫所用的參數,須自行取名,習慣上會用 eevent



其有以下的屬性 (attribute) 與方法 (method)
Boolean
事件物件 event 的屬性
名稱型態描述
event.altKeyBoolean判斷 alt 鍵是否有被按下
event.buttonNumber回傳滑鼠按鈕所按的代表數字
event.cancelableBoolean回傳 cancelable 的設定值
event.charCodeNumber回傳字元按鍵的 Unicode 值
event.clientXNumber回傳滑鼠游標在瀏覽器視窗的 x 座標
event.clientYNumber回傳滑鼠游標在瀏覽器視窗的 y 座標
event.ctrlKeyBoolean判斷 ctrl 鍵是否有被按下
event.defaultPreventedBoolean回傳 defaultPrevented 的設定值
event.detailNumber儲存事件資訊的數字資訊
event.keyCodeNumber回傳非字元按鍵的 Unicode 值
event.layerXNumber回傳滑鼠游標在絕對定位元素上的 x 座標
event.layerYNumber回傳滑鼠游標在絕對定位元素上的 y 座標
event.metaKey判斷 meta 鍵是否有被按下
event.screenXNumber回傳滑鼠游標在瀏覽器視窗於整個螢幕的 x 座標
event.screenYNumber回傳滑鼠游標在瀏覽器視窗於整個螢幕的 y 座標
event.shiftKeyBoolean判斷 shift 鍵是否有被按下
event.typeString回傳事件的種類
event.viewwindow回傳事件的 window 物件
event.whichNumber回傳按鍵的 Unicode 值


事件物件 event 的方法
名稱描述
event.preventDefault()觸發或取消事件預設發生情況


舉例如下
function run(event) {
    var demo_x = document.getElementById("x");
    var demo_y = document.getElementById("y");
    demo_x.innerHTML = event.clientX;
    demo_y.innerHTML = event.clientY;
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:event003.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2011 年 8 月 */


此例在滑鼠移動時,於 id 屬性為 x 的元素 (element) 顯示滑鼠游標在瀏覽器視窗的 x 座標
demo_x.innerHTML = event.clientX;


須留意 run() 定義中有提供參數 event
function run(event) {


我們以下面的 HTML 文件載入
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM DEMO</title>
<script src="event003.js" type="text/javascript"></script>
</head>
<body onmousemove="run(event);">
x: <span id="x"></span>, y: <span id="y"></span>
</body>
</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:event003.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2011 年 8 月 -->


這裡在 <body> 標籤中以 onmousemove 屬性呼叫 run() ,同樣的,必須提供參數 event 給 run()
<body onmousemove="run(event);">


瀏覽器 (broswer) 開啟,滑鼠稍微移動如下結果



中英文術語對照
物件object
函數function
屬性attribute
方法method
元素element
瀏覽器broswer


您可以繼續參考
事件物件 event


相關目錄
HTML DOM 快速導覽
JavaScript 教材
首頁


參考資料
https://developer.mozilla.org/en/DOM/event
http://www.w3.org/TR/DOM-Level-3-Events/

沒有留言: