event對象

event代表事件的狀態,例如觸發event對象的元素、滑鼠的位置及狀態、按下的鍵等等。 event對象只在事件發生的過程中才有效。 event的某些屬性只對特定的事件有意義。比如,fromElement 和 toElement 屬性只對 onmouseover 和 onmouseout 事件有意義。

Event 對象

Event 對象代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、滑鼠的位置、滑鼠按鈕的狀態。

事件通常與函式結合使用,函式不會在事件發生前被執行!

IE: Internet Explorer, F: Firefox, O: Opera, W3C: W3C 標準.

事件句柄 (Event Handlers)

HTML 4.0 的新特性之一是能夠使 HTML 事件觸發瀏覽器中的行為,比如當用戶點擊某個 HTML 元素時啟動一段 JavaScript。下面是一個屬性列表,可將之插入 HTML 標籤以定義事件的行為。

onabort 圖像的載入被中斷。 4 1 9 Yes
onblur 元素失去焦點。 3 1 9 Yes
onchange 域的內容被改變。 3 1 9 Yes
onclick 當用戶點擊某個對象時調用的事件句柄。 3 1 9 Yes
ondblclick 當用戶雙擊某個對象時調用的事件句柄。 4 1 9 Yes
onerror 在載入文檔或圖像時發生錯誤。 4 1 9 Yes
onfocus 元素獲得焦點。 3 1 9 Yes
onkeydown 某個鍵盤按鍵被按下。 3 1 No Yes
onkeypress 某個鍵盤按鍵被按下並鬆開。 3 1 9 Yes
onkeyup 某個鍵盤按鍵被鬆開。 3 1 9 Yes
onload 一張頁面或一幅圖像完成載入。 3 1 9 Yes
onmousedown 滑鼠按鈕被按下。 4 1 9 Yes
onmousemove 滑鼠被移動。 3 1 9 Yes
onmouseout 滑鼠從某元素移開。 4 1 9 Yes
onmouseover 滑鼠移到某元素之上。 3 1 9 Yes
onmouseup 滑鼠按鍵被鬆開。 4 1 9 Yes
onreset 重置按鈕被點擊。 4 1 9 Yes
onresize 視窗或框架被重新調整大小。 4 1 9 Yes
onselect 文本被選中。 3 1 9 Yes
onsubmit 確認按鈕被點擊。 3 1 9 Yes
onunload 用戶退出頁面。 3 1 9 Yes

滑鼠 / 鍵盤屬性

altKey 返回當事件被觸發時,"ALT" 是否被按下。 6 1 9 Yes
button 返回當事件被觸發時,哪個滑鼠按鈕被點擊。 6 1 9 Yes
clientX 返回當事件被觸發時,滑鼠指針的水平坐標。 6 1 9 Yes
clientY 返回當事件被觸發時,滑鼠指針的垂直坐標。 6 1 9 Yes
ctrlKey 返回當事件被觸發時,"CTRL" 鍵是否被按下。 6 1 9 Yes
metaKey 返回當事件被觸發時,"meta" 鍵是否被按下。 No 1 9 Yes
relatedTarget 返回與事件的目標節點相關的節點。 No 1 9 Yes
screenX 返回當某個事件被觸發時,滑鼠指針的水平坐標。 6 1 9 Yes
screenY 返回當某個事件被觸發時,滑鼠指針的垂直坐標。 6 1 9 Yes
shiftKey 返回當事件被觸發時,"SHIFT" 鍵是否被按下。 6 1 9 Yes

IE 屬性

除了上面的滑鼠/事件屬性,IE 瀏覽器還支持下面的屬性:

cancelBubble 如果事件句柄想阻止事件傳播到包容對象,必須把該屬性設為 true。
fromElement 對於 mouseover 和 mouseout 事件,fromElement 引用移出滑鼠的元素。
keyCode 對於 keypress 事件,該屬性聲明了被敲擊的鍵生成的 Unicode 字元碼。對於 keydown 和 keyup 事件,它指定了被敲擊的鍵的虛擬鍵盤碼。虛擬鍵盤碼可能和使用的鍵盤的布局相關。
offsetX,offsetY 發生事件的地點在事件源元素的坐標系統中的 x 坐標和 y 坐標。
returnValue 如果設定了該屬性,它的值比事件句柄的返回值優先權高。把這個屬性設定為 fasle,可以取消發生事件的源元素的默認動作。
srcElement 對於生成事件的 Window 對象、Document 對象或 Element 對象的引用。
toElement 對於 mouseover 和 mouseout 事件,該屬性引用移入滑鼠的元素。
x,y 事件發生的位置的 x 坐標和 y 坐標,它們相對於用CSS動態定位的最內層包容元素。

標準 Event 屬性

下面列出了 2 級 DOM 事件標準定義的屬性。

bubbles 返回布爾值,指示事件是否是起泡事件類型。 No 1 9 Yes
cancelable 返回布爾值,指示事件是否可擁可取消的默認動作。 No 1 9 Yes
currentTarget 返回其事件監聽器觸發該事件的元素。 No 1 9 Yes
eventPhase 返回事件傳播的當前階段。


Yes
target 返回觸發此事件的元素(事件的目標節點)。 No 1 9 Yes
timeStamp 返回事件生成的日期和時間。 No 1 9 Yes
type 返回當前 Event 對象表示的事件的名稱。 6 1 9 Yes

標準 Event 方法

下面列出了 2 級 DOM 事件標準定義的方法。IE 的事件模型不支持這些方法:

initEvent() 初始化新創建的 Event 對象的屬性。 No 1 9 Yes
preventDefault() 通知瀏覽器不要執行與事件關聯的默認動作。 No 1 9 Yes
stopPropagation() 不再派發事件。 No 1 9 Yes

例子

下面的例子檢查滑鼠是否在連結上單擊,並且,如果shift鍵被按下,就取消連結的跳轉。

<HTML>

<HEAD><TITLE>Cancels Links</TITLE>

<SCRIPT LANGUAGE="JScript">

function cancelLink() {

if (window.event.srcElement.tagName == "A" && window.event.shiftKey)

window.event.returnvalue = false;

}

</SCRIPT>

<BODY onclick="cancelLink()">

相關詞條

相關搜尋

熱門詞條

聯絡我們