滑鼠事件:
事件
描述
onclick
單擊元素
oncontextmenu
右鍵彈出菜單
ondbclick
輕按兩下元素
onmousedown
元素上按下滑鼠鍵
onmouseenter
滑鼠指針移動到元素上
onmouseleave
滑鼠移動到元素外
onmousemove
滑鼠指針在元素上移動
onmouseover
滑鼠指針移動到一個元素或其子元素
鍵盤事件:
onkeydown
按下一個鍵
onkeypress
按下并彈起按鍵
onkeyup
釋放按鍵
onerror
加載外部檔案錯誤
onload
加載對象
onresize
調整視圖大小
onscroll
滾動條
表單事件:
onblur
失去焦點
onchange
狀态變化
onfocus
獲得焦點
onreset
重置表單
onselect
選擇文本
onsubmit
送出表單
以上是JavaScript中的常用事件。
事件處理器:
它是JavaScript檢測到一個特定事件時所執行的一段代碼。
内聯處理器:
通常就是直接在事件中直接處理的。可以明确寫javascript:,也可以省略。
作為DOM對象的屬性的事件處理器:
以上代碼,我們可以看出,頁面中有一個按鈕,我們需要給這個按鈕添加一個onclick單擊事件,我們可以在頁面加載函數window.onload中,先擷取按鈕對象,然後給對象的onclick事件,添加一個匿名處理函數,函數中隻有一個處理操作,就是彈出提示框。
如果不适用匿名函數,使用具名函數也是可以的。
這裡需要記住,在給button1對象的onclick事件指派處理函數時,隻需要指派函數名稱即可,不需要帶括号,因為帶括号意味着執行函數體的代碼。
使用addEventListener()方法:
當我們需要給一個元素添加多個事件處理器時,就需要使用這個方法了。
這裡需要注意一點,就是addEventListener方法中,對事件的參數不需要帶on,比如按鈕的單擊事件是onclick,參數1添加時,隻需要寫click,就可以了。你可以這樣了解,把事件中的on去掉,就是參數1。
從上面代碼中,可以看到,我們可以對一個按鈕添加了兩個處理函數,分别處理不同的内容。
當我們需要對添加的多餘處理函數,移除時,可以這樣:
以上代碼,我們通過移除,就可以動态的把button1對象的全部處理時間函數,都拿掉了。
event對象:
在鍵盤事件中,很多時候我們需要知道使用者具體按下了什麼鍵,可以通過event對象獲得。
以上代碼中,有一個文本輸入框,我們為其添加了一個onkeydown事件,處理函數中,判斷當按下esc鍵時,彈出提示框。event對象的keyCode屬性擷取按鍵碼,27代表esc鍵。
事件的發生順序:
當點選滑鼠按鍵時,mousedown,mouseup和click,是按照什麼順序發生的呢?
mousedown和mouseup事件都在click事件之前發生。
下節我們分享關于邏輯控制的内容。