天天看點

javascript 事件對象(event 對象)

  

-------------------------------------------------------------------------------

javascript 中 直接寫在html 中 onclick ="..."  的代碼段 和 onclick= "xxx();"  xxx() 這個函數裡面的代碼段,它們對應的一些局部變量參數是不一樣的。

差別: 1.   ... 裡面的this 對象就是 這個html 元素本身, xxx() 中的this 對象是 window對象(this對象不能被自己再去指派)。 

    2.  ...裡面的 event對象就是這個click event 對象, 當然xxx()中的event對象也是event 對象。

---------------------------------------------------------------------------------------------

在觸發的事件的函數裡面我們會接收到一個event對象,通過該對象我們需要的一些參數,比如說我們需要知道此事件作用到誰身上了,就可以通過event的屬性​<code>​target​</code>​來擷取到(IE暫且不談),或者想阻止浏覽器的預設行為可以通過方法​<code>​preventDefault()​</code>​來進行阻止.以下是event對象的一些屬性和方法

<col>

屬性

描述

altKey

傳回當事件被觸發時,”ALT” 是否被按下。

button

傳回當事件被觸發時,哪個滑鼠按鈕被點選。

clientX

傳回當事件被觸發時,滑鼠指針的水準坐标。

clientY

傳回當事件被觸發時,滑鼠指針的垂直坐标。

ctrlKey

傳回當事件被觸發時,”CTRL” 鍵是否被按下。

metaKey

傳回當事件被觸發時,”meta” 鍵是否被按下。

relatedTarget

傳回與事件的目标節點相關的節點。

screenX

傳回當某個事件被觸發時,滑鼠指針的水準坐标。

screenY

傳回當某個事件被觸發時,滑鼠指針的垂直坐标。

shiftKey

傳回當事件被觸發時,”SHIFT” 鍵是否被按下。

​<code>​IE​</code>​ 屬性(除了上面的滑鼠/事件屬性,IE 浏覽器還支援下面的屬性)

​<code>​cancelBubble​</code>​

如果事件句柄想阻止事件傳播到包容對象,必須把該屬性設為 true。

fromElement

對于 mouseover 和 mouseout 事件,fromElement 引用移出滑鼠的元素。

keyCode

對于 keypress 事件,該屬性聲明了被敲擊的鍵生成的 Unicode 字元碼。對于 keydown 和 keyup

offsetX,offsetY

發生事件的地點在事件源元素的坐标系統中的 x 坐标和 y 坐标。

​<code>​returnValue​</code>​

如果設定了該屬性,它的值比事件句柄的傳回值優先級高。把這個屬性設定為

​<code>​srcElement​</code>​

對于生成事件的 Window 對象、Document 對象或 Element 對象的引用。

toElement

對于 mouseover 和 mouseout 事件,該屬性引用移入滑鼠的元素。

x,y

事件發生的位置的 x 坐标和 y 坐标,它們相對于用CSS動态定位的最内層包容元素。

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

屬性和方法

bubbles

傳回布爾值,訓示事件是否是起泡事件類型。

​<code>​cancelable​</code>​

傳回布爾值,訓示事件是否可擁可取消的預設動作。

​<code>​currentTarget​</code>​

傳回其事件監聽器觸發該事件的元素。

eventPhase

傳回事件傳播的目前階段。

​<code>​target​</code>​

傳回觸發此事件的元素(事件的目标節點)。

timeStamp

傳回事件生成的日期和時間。

​<code>​type​</code>​

傳回目前 Event 對象表示的事件的名稱。

initEvent()

初始化新建立的 Event 對象的屬性。

​<code>​preventDefault()​</code>​

通知浏覽器不要執行與事件關聯的預設動作。

​<code>​stopPropagation()​</code>​

不再派發事件。

繼續閱讀