js 基礎之常用事件
在js當中,事件是較為常用的內容,本篇文章來說一些常用的事件。
鼠標事件
下面是常用的鼠標事件:
- click 當用戶按下並釋放鼠標按鍵或其他方式“激活”元素時觸發
- contextmenu 可以取消的事件,當上下文菜單即將出現時觸發。當前瀏覽器在鼠標右擊時顯示上下文菜單
- dblclick 當用戶雙擊鼠標時觸發
- mousedown 當用戶按下鼠標按鍵時觸發
- mouseup 當用戶釋放鼠標按鍵時觸發
- mousemove 當用戶移動鼠標時觸發
- mouseover 當鼠標進入元素時觸發。relatedTarget(在IE中是fromElement)指的是鼠標來自的元素
- mouseout 當鼠標離開元素時觸發。relatedTarget(在IE中是toElement)指的是鼠標要去往的元素
- mouseenter 類似mouseover,但不冒泡。IE將其引入,HTML5將其標准化,但尚未廣泛實現
- mouseleave 類似mouseout,但不冒泡。IE將其引入,HTML5將其標准化,但尚未廣泛實現
鍵盤事件
下面是常見的鍵盤事件,主要用來描述鍵盤行為:
- keydown
- keypress
- keyup
加載事件
很多人說到加載事件,總是會想到window.onload,但是實際上,這類事件是一大類事件,下面是常見的加載事件:
- load 頁面完全加載后會觸發該事件
- error 當加載失敗后觸發,所有可以觸發load事件的元素,都可以觸發該事件
- abort 元素加載中止時,(如加載過程中按下ESC鍵,停止加載),觸發該事件,常用於圖片加載 (只有IE支持)
- unload 與load事件對應的是unload事件,該事件在文檔被完全卸載后觸發。刷新頁面時,也會觸發該事件。chrome/firefox/safari瀏覽器會阻止alert等對話框,IE瀏覽器會阻止console.log()等控制台顯示。
window.onunload = function(e){
//chrome報錯,firefox靜默失敗,IE彈出666
alert(666);
}
// 或者
window.onunload = function(e){
//chrome和firefox控制台顯示666,IE靜默失敗
console.log(666);
}
- DOMContentLoaded 則在形成完整的DOM樹之后就會觸發,而不理會圖像、javascript文件、CSS文件或其他資源是否下載完畢。(IE8不支持)
window.addEventListener('DOMContentLoaded',function(e){
console.log(1);
})
表單事件
下面是常用的表單事件:
- submit 表單提交時觸發,綁定給form元素
- reset 表單發生重置時觸發,綁定為form元素
- blur 失去焦點時觸發
- change 表單控制的內容發生改變時觸發
其他事件
- scroll 元素內部的內容滾動時觸發
- resize 窗口尺寸發生變化時觸發
在后續的博文中會繼續更新關於常用事件的具體使用。
如果想要具體了解js事件的更詳細內容,可以關注https://developer.mozilla.org/zh-CN/docs/Web/Events。
