-------------------------------------------------------------------------------
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>
不再派發事件。