JavaScript--事件(上)

一、事件的概述

1、JavaScript 與 HTML 的交互是通過事件實現(xiàn)的扁位,事件代表文檔或瀏覽器窗口中某個有意義的時刻〕每。可以使用僅在事件發(fā)生時執(zhí)行的監(jiān)聽器(也叫處理程序)訂閱事件域仇。
2、事件意味著用戶或瀏覽器執(zhí)行的某種動作寺擂。比如暇务,單擊(click)、加載(load)怔软、鼠標懸停(mouseover)垦细。為響應事件而調(diào)用的函數(shù)被稱為事件處理程序(或事件監(jiān)聽器)。事件處理程序的名字以"on"開頭爽雄,因此 click 事件的處理程序叫作 onclick蝠检,而 load 事件的處理程序叫作 onload。

二挚瘟、事件的模式

JavaScript有兩種事件實現(xiàn)模式: 內(nèi)聯(lián)模式, 腳本模式叹谁。

1、內(nèi)聯(lián)模式

直接在HTML標簽中添加事件乘盖。這種模式是最傳統(tǒng)簡單的一種處理事件的方法焰檩。但是這種模式中事件和HTML是混寫的, 并沒有將JS與HTML分離, 當代碼量多了以后,對后期代碼維護和擴展很不利。

<input type="button" value="按鈕" onclick="alert('hello');" /> 
2订框、腳本模式

使用腳本模式我們需要先獲取到元素節(jié)點對象, 再針對該節(jié)點對象添加事件析苫。

var box = document.getElementById('box'); 
box.onclick = function() {  //給box節(jié)點對象添加點擊事件onclick
         console.log('Hello world!'); 
};

注意:內(nèi)聯(lián)里面調(diào)用的方法的this會指向window(傳遞this)腳本模式的this會指向當前的調(diào)用者。

三、事件的分類

1衩侥、鼠標事件

1.1 click事件

在用戶單擊鼠標主鍵(通常是左鍵)或按鍵盤回車鍵時觸發(fā)国旷。
注意:“鼠標單擊”定義為,用戶在同一個位置完成一次mousedown動作和mouseup動作茫死。它們的觸發(fā)順序是:mousedown首先觸 發(fā)跪但,mouseup接著觸發(fā),click最后觸發(fā)峦萎。

1.2 dblclick事件

在用戶雙擊鼠標主鍵(通常是左鍵)時觸發(fā)屡久。

1.3 mousemove事件

在鼠標光標在元素上移動時反復觸發(fā)。

1.4 mouseover事件

在用戶把鼠標光標從元素外部移到元素內(nèi)部時觸發(fā)爱榔。

1.5 mouseout事件

在用戶把鼠標光標從一個元素移到另一個元素上時觸發(fā)被环。移到的元素可以是原始元素的外部元素,也可以是原始元素的子元素详幽。

1.6 mouseenter事件

在用戶把鼠標光標從元素外部移到元素內(nèi)部時觸發(fā)筛欢。不會在光標經(jīng)過后代元素時觸發(fā)。

1.7 mouseleave事件

在用戶把鼠標光標從元素內(nèi)部移到元素外部時觸發(fā)唇聘。也不會在光標經(jīng)過后代元素時觸發(fā)

1.8 mousedown事件

在用戶按下任意鼠標鍵時觸發(fā)悴能。

1.9 mouseup事件

在用戶釋放鼠標鍵時觸發(fā)。

1.10 contextmenu事件

contextmenu事件在一個節(jié)點上點擊鼠標右鍵時觸發(fā)雳灾,或者按下“上下文菜單”鍵時觸發(fā)。

document.oncontextmenu=function(){ return false; }

2冯凹、鍵盤事件

2.1 keydown事件

用戶按下鍵盤上某個鍵時觸發(fā)谎亩,而且持續(xù)按住會重復觸發(fā)。

2.2 keyup事件

用戶釋放鍵盤上某個鍵時觸發(fā)宇姚。

2.3 keypress事件

用戶按下鍵盤上某個鍵并產(chǎn)生字符時觸發(fā)匈庭,而且持續(xù)按住會重復觸發(fā)。Esc 鍵也會觸發(fā)這個事件浑劳。(非Ctrl阱持、Alt、Shift和Meta

注意:keypress和textinput事件是在新輸入的文本真正插入到聚焦的文檔元素前觸發(fā)的魔熏。 如果用戶一直按鍵不松開衷咽,就會重復觸發(fā)keydown、keypress蒜绽,直到用戶松開才會觸發(fā)keyup镶骗。

3、HTML事件

3.1 load事件

在 window 對象上躲雅,load 事件會在整個頁面(包括所有外部資源如圖片鼎姊、JavaScript 文件和 CSS 文件)加載完成后觸發(fā)。

3.2 unload事件

unload 事件會在文檔卸載完成后觸發(fā)。unload 事件一般是在從一個頁面導航到另一個頁面時觸發(fā)相寇,最常用于清理引用慰于,以避免內(nèi)存泄漏。

3.3 close事件

當窗口關閉是觸發(fā)唤衫。

3.4 change事件

當 <input> 婆赠、 <select> 和 <textarea> 的值發(fā)生變化時都會觸發(fā)change事件。只有全部修改完成時它才會觸發(fā)战授。

具體分下面幾種情況

  • 激活單選框(radio)或復選框(checkbox)時觸發(fā)页藻。
  • 用戶提交時觸發(fā)。比如植兰,從下列列表(select)完成選擇份帐,在日期或文件輸入框完成選擇。
  • 當文本框或textarea元素的值發(fā)生改變楣导,并且喪失焦點時觸發(fā)
3.5 select事件

在文本框(<input>或 textarea)上當用戶選擇了一個或多個字符時觸發(fā)废境。

3.6 focus事件

當元素獲得焦點時觸發(fā)。

3.7 blur事件

當元素失去焦點時觸發(fā)筒繁。

3.8 reset事件

當表單重置(所有表單成員的值變回默認值)時觸發(fā)噩凹。

3.9 submit事件

當表單數(shù)據(jù)向服務器提交時觸發(fā)。

注意:submit事件的發(fā)生對象是form元素毡咏,而不是button元素(即使它的類型是submit)驮宴,因為提交的是表單,而不是按 鈕

3.10 scorll事件

當用戶滾動包含滾動條的元素時在元素上觸發(fā)呕缭。<body>元素包含已加載頁面的滾動條堵泽。大多數(shù) HTML 事件與 window 對象和表單控件有關。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恢总,一起剝皮案震驚了整個濱河市迎罗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌片仿,老刑警劉巖纹安,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異砂豌,居然都是意外死亡厢岂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門奸鸯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咪笑,“玉大人,你說我怎么就攤上這事娄涩〈芭” “怎么了映跟?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長扬虚。 經(jīng)常有香客問我努隙,道長,這世上最難降的妖魔是什么辜昵? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任荸镊,我火速辦了婚禮,結(jié)果婚禮上堪置,老公的妹妹穿的比我還像新娘躬存。我一直安慰自己,他們只是感情好舀锨,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布岭洲。 她就那樣靜靜地躺著,像睡著了一般坎匿。 火紅的嫁衣襯著肌膚如雪盾剩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天替蔬,我揣著相機與錄音告私,去河邊找鬼。 笑死承桥,一個胖子當著我的面吹牛驻粟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凶异,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼格嗅,長吁一口氣:“原來是場噩夢啊……” “哼在抛!你這毒婦竟也來了妓柜?” 一聲冷哼從身側(cè)響起膏蚓,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎襟衰,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粪摘,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡瀑晒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了徘意。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苔悦。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖椎咧,靈堂內(nèi)的尸體忽然破棺而出玖详,到底是詐尸還是另有隱情把介,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布蟋座,位于F島的核電站拗踢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏向臀。R本人自食惡果不足惜巢墅,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望券膀。 院中可真熱鬧君纫,春花似錦、人聲如沸芹彬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀监。三九已至双吆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間会前,已是汗流浹背好乐。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓦宜,地道東北人蔚万。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像临庇,于是被迫代替她去往敵國和親反璃。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

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