Javascript的Event對象

Javascript的Event對象用來描述Javascript的事件,它主要作用於IE4和NN4以後的各個瀏覽器版本中。Event代表事件狀態,如事件發生的元素,鍵盤狀態,鼠標位置和鼠標按鈕狀態。一旦事件發生,便會生成Event對象,如單擊一個按鈕,瀏覽器的內存中就產生相應的 event對象。

IE對事件的引用

在IE4以上版本中,event對象作爲window屬性訪問:window.event。其中引用的window部分是可選的.因此腳本就像全局引用一樣來對待event對象:

event.propertyName

event對象成員表:

下面的表格列出了 event 對象引出的成員。

對象
dataTransfer 提供了對於預定義的剪貼板格式的訪問,以便在拖曳操作中使用。

集合
bookmarks 返回捆綁到當前事件所影響的行上的 ActiveX® 數據對象(ADO)書籤的集合。 
boundElements 返回頁面上所有綁定到給定數據集的所有元素的集合。

屬性
Abstract 使用 event 對象獲取高級流重定向器(ASX)文件中項目橫幅的 Abstract 內容。 
altKey 設置或獲取 Alt 鍵的狀態。 檢索ALT鍵的當前狀態可能的值 true爲關閉,false爲不關閉
altLeft 設置或獲取左 Alt 鍵的狀態。 
Banner 使用 event 對象獲取高級流重定向器(ASX)文件中項目的 Banner 內容。 
button 設置或獲取用戶所按的鼠標按鈕。 
可能的值:
0 沒按鍵
1 按左鍵
2 按右鍵
3 按左右鍵
4 按中間鍵
5 按左鍵和中間鍵
6 按右鍵和中間鍵
7 按所有的鍵

cancelBubble 設置或獲取當前事件是否要在事件句柄中向上冒泡。 
設置或檢索當前事件是否將事件句柄起泡可能的值: false 啓用起泡true 取消該事件起泡

clientX 設置或獲取鼠標指針位置相對於窗口客戶區域的 x 座標,
其中客戶區域不包括窗口自身的控件和滾動條。 
屬性爲只讀,沒有默認值。
clientY 設置或獲取鼠標指針位置相對於窗口客戶區域的 y 座標,
其中客戶區域不包括窗口自身的控件和滾動條。 
屬性爲只讀,沒有默認值。
clientX,clientY不考慮文檔滾動,如果要把窗體滾動計在內,加上document.body.scrollLeft,document.body.scrollTop即可

contentOverflow 獲取表明文檔處理當前 LayoutRect 對象後是否包含附加的內容。 
ctrlKey 設置或獲取 Ctrl 鍵的狀態。 ctrlKey 檢索CTRL鍵的當前狀態可能的值 true爲關閉false爲不關閉
ctrlLeft 設置或獲取左 Ctrl 鍵的狀態。 
dataFld 設置或獲取 oncellchange 事件影響的數據列。 
fromElement 設置或獲取事件發生時激活或鼠標將要離開的對象。

keyCode 設置或獲取與導致事件的按鍵關聯的 Unicode 按鍵代碼。 
該屬性與onkeydown onkeyup onkeypress一起使用如果沒有引發事件的關鍵字,則該值爲0,
用String.fromCharCode()可將字符代碼轉換成字符串.比如event.keyCode=13代表按下了回車鍵;

 

MoreInfo 通過 event 對象獲取高級流重定向器(ASX)文件中項目橫幅的 MoreInfo 內容。 
nextPage 獲取打印模板中下頁的位置。 
offsetX 設置或獲取鼠標指針位置相對於觸發事件的對象的 x 座標。 
offsetY 設置或獲取鼠標指針位置相對於觸發事件的對象的 y 座標。 
propertyName 設置或獲取對象上發生更改的屬性名稱。 
qualifier 設置或獲取由數據源對象提供的數據成員的名稱。 
reason 設置或獲取數據源對象的數據傳輸結果。 
可能的值:
0 數據傳輸成功
1 數據傳輸失敗
2 數據傳輸錯誤

recordset 從數據源對象設置或獲取對默認數據集的引用。 該特性爲只讀
repeat 獲取 onkeydown 事件是否正在重複。 該屬性只有在onkeydown事件重複時才返回true
returnValue 設置或獲取事件的返回值。 
可能的值:
true 事件中的值被返回
false 源對象上事件的默認操作被取消

saveType 當 oncontentsave 觸發時獲取剪貼板類型。

screenX 設置或獲取獲取鼠標指針位置相對於用戶屏幕的 x 座標。 
screenY 設置或獲取鼠標指針位置相對於用戶屏幕的 y 座標。 
(即鼠標指針相對於用戶顯示器的左上角的XY座標的值)

shiftKey 設置或獲取 Shift 鍵的狀態。 可能的值 true爲關閉,false爲不關閉

shiftLeft 設置或獲取左 Shift 鍵的狀態。 
srcElement 設置或獲取觸發事件的對象。 (發生事件的文檔元素)

事件源,就是發生事件的元素。比如<a ></a> a這個鏈接是事件發生的源頭,也就是該事件的srcElement。(非IE中用target)


srcFilter 設置或獲取觸發 onfilterchange 事件的濾鏡對象。 
srcUrn 獲取觸發事件的行爲的統一資源名稱(URN)。 
除非下面兩個條件都爲真,否則該特性被設置爲null
1.行爲被附加到觸發事件的要素上
2.在前面的項目符號中定義的行爲己指定了一個URN標識符和己觸發的事件

toElement 設置或獲取用戶要將鼠標指針移動指向的對象的引用。 
type 從 event 對象中獲取事件名稱。 如click,mouseover
wheelDelta 設置或獲取滾輪按鈕滾動的距離和方向。 
x 設置或獲取鼠標指針位置相對於父文檔的 x 像素座標。 
y 設置或獲取鼠標指針位置相對於父文檔的 y 像素座標。


註釋

event 對象僅在事件中可用──這意味着,你可以在事件句柄中使用該對象,但不能在其它代碼中使用。

儘管所有事件屬性都可通過所有的 event 對象訪問,但是在某些事件中某些屬性可能無意義。例如,fromElement 和 toElement 屬性僅當處理 onmouseover 和 onmouseout 事件時有意義。

在 Microsoft Visual Basic&reg; 腳本版本(VBScript)中,你必須通過 window 對象訪問 event 對象。

此對象在 Microsoft&reg; Internet Explorer 4.0 的腳本中可用。

示例

下面的例子使用了 event 對象來決定用戶單擊的位置是否在鏈接上,並且避免在 SHIFT 鍵按下時導航到鏈接。

<HTML>
<HEAD><TITLE>取消鏈接</TITLE>
<SCRIPT LANGUAGE="JScript">
function cancelLink() {
if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 
window.event.returnValue = false;
}
</SCRIPT>
<BODY οnclick="cancelLink()">

發佈了35 篇原創文章 · 獲贊 56 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章