js的事件種類整理

鼠標(biāo)事件 (繼承MouseEvent接口)
鼠標(biāo)事件 描述
click 按下鼠標(biāo)時觸發(fā)
dblclick 雙擊鼠標(biāo)時觸發(fā)
mousedown 按下鼠標(biāo)鍵時觸發(fā)
mouseup 釋放按下鼠標(biāo)鍵觸發(fā)
mousemove 鼠標(biāo)在節(jié)點(diǎn)內(nèi)部移動觸發(fā)荣回,持續(xù)移動,事件會持續(xù)觸發(fā)(會有性能問題)
mouseenter 鼠標(biāo)進(jìn)入節(jié)點(diǎn)觸發(fā),進(jìn)入子節(jié)點(diǎn)不會觸發(fā)塘匣。(在節(jié)點(diǎn)內(nèi)只會觸發(fā)一次)
mouseover 鼠標(biāo)進(jìn)入節(jié)點(diǎn)觸發(fā),進(jìn)入子節(jié)點(diǎn)會再一次觸發(fā)
mouseout 鼠標(biāo)離開節(jié)點(diǎn)觸發(fā)褒纲,離開父節(jié)點(diǎn)也會觸發(fā)
mouseleave 鼠標(biāo)離開節(jié)點(diǎn)觸發(fā)被环,離開父節(jié)點(diǎn)不會觸發(fā)
contextmenu 鼠標(biāo)右鍵(右鍵菜單)前觸發(fā),或按下右鍵菜單時觸發(fā)
wheel 滾動鼠標(biāo)的滾輪時觸發(fā)模孩,繼承WheelEvent接口

觸發(fā)順序: mouseDown > mouseup > click > dblclick

mouseover 和 mouseenter 的共同點(diǎn):鼠標(biāo)進(jìn)入一個節(jié)點(diǎn)觸發(fā)

區(qū)別:

  • mouseover 會在子節(jié)點(diǎn)觸發(fā)多次
  • mouseenter 只觸發(fā)一次

mouseout 和 mouseleave 共同點(diǎn): 鼠標(biāo)離開一個節(jié)點(diǎn)時觸發(fā)
區(qū)別:

  • 在父元素內(nèi)部離開一個子元素時,mouseout事件會觸發(fā)贮缅。
  • 在父元素內(nèi)部離開一個子元素時榨咐,mouseout事件不會觸發(fā)。

鍵盤事件 (繼承KeyboardEvent接口)

鍵盤事件 描述
keydown 按下鍵盤時觸發(fā)
keypress 按下有值的鍵觸發(fā)谴供,(無值鍵Ctrl块茁、Alt、Shift、Meta ) 数焊,會先出發(fā)keydown
keyup 松開鍵盤時觸發(fā)

用戶一直按鍵不松開:

1.keydown
2.keypress
3.keydown
4.keypress
5. ...(重復(fù)上面過程)
6.keyup

進(jìn)度事件 (繼承ProgressEvent接口)

描述資源加載的進(jìn)度永淌。主要由AJAX、<img>佩耳、<audio>遂蛀、<video>、<style>干厚、<link> 等外部資源的加載觸發(fā)李滴。

進(jìn)度事件 描述
abort 外部資源中止加載時(比如用戶取消)觸發(fā),發(fā)生錯誤導(dǎo)致中止不會觸發(fā)蛮瞄。
error 由于錯誤導(dǎo)致外部資源無法加載時觸發(fā)(error特性所坯,不會冒泡,不會觸發(fā)父元素的error時間監(jiān)聽函數(shù))
load 外部資源加載成功時觸發(fā)
loadstart 外部資源開始加載時觸發(fā)
loadend 外部資源停止加載時觸發(fā)挂捅,發(fā)生順序在error芹助、abort、load等事件的后面籍凝。
progress 外部資源加載過程中不斷觸發(fā)
timeout 加載超時時觸發(fā)

注意:
按照習(xí)慣js腳本一般都放置在頁面底部周瞎,有時候圖片加載會在腳本運(yùn)行之前就完成,因此有可能load和error事件的監(jiān)聽函數(shù)不會執(zhí)行饵蒂。
解決辦法:使用complete屬性先判斷一下是否加載完成声诸。

function loaded(){
  // ...
}
if(image.complete){
  loaded();
}else{
  image.addEventListener('load',loaded)
}

DOM元素節(jié)點(diǎn)沒有提供是否加載錯誤的屬性,所以error事件的監(jiān)聽函數(shù)最好放到<img>元素的HTML代碼中退盯,這樣可以保證發(fā)生加載錯誤時百分之百會執(zhí)行彼乌。

<img src="/wrong/url" onerror="this.style.display='none';"/>

loadend事件的監(jiān)聽函數(shù),可以用來取代abort事件渊迁、load事件慰照、error事件的監(jiān)聽函數(shù),因?yàn)榭偸窃谶@些事件之后發(fā)生琉朽。

拖拉事件 (繼承DragEvent接口)

DragEvent接口又繼承了MouseEvent接口和Event接口毒租。

拖拉的對象有好幾種,包括元素節(jié)點(diǎn)箱叁、圖片墅垮、鏈接、選中的文字等等耕漱。
元素節(jié)點(diǎn)是默認(rèn)不可以拖拽的算色,可以設(shè)置屬性draggable="true"改為可拖拽
元素被拖拽時,會持續(xù)觸發(fā)拖拉事件

拖拉事件 描述
drag 在拖拽節(jié)點(diǎn)上持續(xù)觸發(fā)(間隔幾百毫秒)
dragstart 開始拖拉時螟够,在被拖拉的節(jié)點(diǎn)上觸發(fā)
dragend 拖拉結(jié)束時灾梦,在被拖拉的節(jié)點(diǎn)上觸發(fā)
dragenter 拖拉進(jìn)入當(dāng)前節(jié)點(diǎn)時峡钓,在當(dāng)前節(jié)點(diǎn)上觸發(fā)一次
dragover 拖拉進(jìn)入當(dāng)前節(jié)點(diǎn)時,在當(dāng)前節(jié)點(diǎn)上持續(xù)觸發(fā)(間隔幾百毫秒)
dragleave 拖拉離開當(dāng)前節(jié)點(diǎn)范圍內(nèi)若河,在當(dāng)前節(jié)點(diǎn)上觸發(fā)
drop 釋放目標(biāo)節(jié)點(diǎn)時能岩,在目標(biāo)節(jié)點(diǎn)上觸發(fā)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末牡肉,一起剝皮案震驚了整個濱河市捧灰,隨后出現(xiàn)的幾起案子淆九,更是在濱河造成了極大的恐慌统锤,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炭庙,死亡現(xiàn)場離奇詭異饲窿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)焕蹄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門逾雄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腻脏,你說我怎么就攤上這事鸦泳。” “怎么了永品?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵做鹰,是天一觀的道長。 經(jīng)常有香客問我鼎姐,道長钾麸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任炕桨,我火速辦了婚禮饭尝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘献宫。我一直安慰自己钥平,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布姊途。 她就那樣靜靜地躺著涉瘾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吭净。 梳的紋絲不亂的頭發(fā)上睡汹,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機(jī)與錄音寂殉,去河邊找鬼囚巴。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的彤叉。 我是一名探鬼主播庶柿,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秽浇!你這毒婦竟也來了浮庐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤柬焕,失蹤者是張志新(化名)和其女友劉穎审残,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斑举,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搅轿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了富玷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片璧坟。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赎懦,靈堂內(nèi)的尸體忽然破棺而出雀鹃,到底是詐尸還是另有隱情,我是刑警寧澤励两,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布黎茎,位于F島的核電站,受9級特大地震影響伐蒋,放射性物質(zhì)發(fā)生泄漏工三。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一先鱼、第九天 我趴在偏房一處隱蔽的房頂上張望俭正。 院中可真熱鬧,春花似錦焙畔、人聲如沸掸读。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儿惫。三九已至,卻和暖如春伸但,著一層夾襖步出監(jiān)牢的瞬間肾请,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工更胖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铛铁,地道東北人隔显。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像饵逐,于是被迫代替她去往敵國和親括眠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 本節(jié)介紹各種常見的瀏覽器事件倍权。 鼠標(biāo)事件 鼠標(biāo)事件指與鼠標(biāo)相關(guān)的事件掷豺,主要有以下一些。 click 事件薄声,dblc...
    許先生__閱讀 2,432評論 0 4
  • Dom事件 事件是一種異步編程的實(shí)現(xiàn)方式当船,本質(zhì)上是程序各個組成部分之間的通信。DOM支持大量的事件 (一) Eve...
    woow_wu7閱讀 1,773評論 0 1
  • ??JavaScript 與 HTML 之間的交互是通過事件實(shí)現(xiàn)的婴程。 ??事件廓奕,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,490評論 1 11
  • 之前寫過一篇瀏覽器事件的相關(guān)操作和事件運(yùn)行的原理——JavaScript瀏覽器事件解析。這一篇主要寫一些常用的事件...
    faremax閱讀 1,616評論 0 0
  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,124評論 0 21