溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript事件處理的過程是什么

發(fā)布時(shí)間:2022-10-13 09:33:58 來源:億速云 閱讀:180 作者:iii 欄目:web開發(fā)

本文小編為大家詳細(xì)介紹“javascript事件處理的過程是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“javascript事件處理的過程是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

javascript事件處理過程分為三步:1、發(fā)生事件;2、啟動事件處理程序;3、事件處理程序做出反應(yīng)。其中,要使事件處理程序能夠啟動,必須通過指定的對象來調(diào)用相應(yīng)的事件,然后通過該事件調(diào)用事件處理程序。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript是基于對象(object-based)的語言,它的一個(gè)最基本的特征就是采用事件驅(qū)動(event-driven)。可以使在圖形界面環(huán)境下的一切操作變得簡單化。通過鼠標(biāo)或熱鍵的動作稱為事件(event)。由鼠標(biāo)或熱鍵引發(fā)的一連串程序動作,稱為事件驅(qū)動(event driver),而對事件進(jìn)行處理的程序或函數(shù),稱為事件處理程序(event handler)。

事件與事件處理概述

事件處理是對象化編程的個(gè)很重要的環(huán)節(jié),它可以使程序的邏輯結(jié)構(gòu)更加清晰,使程序更具有靈活性,提高了程序的開發(fā)效率。

事件處理的過程分為三步:

  • ①發(fā)生事件;

  • ②啟動事件處理程序;

  • ③事件處理程序做出反應(yīng)。

其中,要使事件處理程序能夠啟動,必須通過指定的對象來調(diào)用相應(yīng)的事件,然后通過該事件調(diào)用事件處理程序。事件處理程序可以是任意JavaScript語句,但是一般用特定的自定義函數(shù)(function) 來對事件進(jìn)行處理。

事件與事件名稱

事件是一些可以通過腳本響應(yīng)的頁面動作。當(dāng)用戶按下鼠標(biāo)鍵或者提交一個(gè)表單, 甚至在頁面上移動鼠標(biāo)時(shí),事件就會出現(xiàn)。事件處理是一段 JavaScript代碼,總是與頁面中的特定部分以及一定的事件相關(guān)聯(lián)。當(dāng)與頁面特定部分關(guān)聯(lián)的事件發(fā)生時(shí),事件處理器就會被調(diào)用。

絕大多數(shù)事件的命名都是描述性的,很容易理解。例如click. submit. mousecover 等,通過名稱就可以猜測其含義。但也有少數(shù)事件的名稱不易理解,例如blur (英文的字面意思為“模糊”),表示一個(gè)域或者 一個(gè)表單失去焦點(diǎn)。通常,事件處理器的命名原則是, 在事件名稱前加上前綴on.例如,對于click事件,其處理器名為onclick.

JavaScript的常用事件

JavaScript的相關(guān)事件


事件

說明

鼠標(biāo)鍵盤事件onclick鼠標(biāo)單擊時(shí)觸發(fā)此事件
ondblclick鼠標(biāo)雙擊時(shí)觸發(fā)此事件
onmousedown按下鼠標(biāo)時(shí)觸發(fā)此事件
onmouseup鼠標(biāo)按下后松開鼠標(biāo)時(shí)觸發(fā)此事件
onmouscover當(dāng)鼠標(biāo)移動到某對象范圍的上方時(shí)觸發(fā)此事件
onmousemove鼠標(biāo)移動時(shí)觸發(fā)此事件
onmouscout當(dāng)鼠標(biāo)離開某對象范圍時(shí)觸發(fā)此事件
onkeypress當(dāng)鍵盤上的某個(gè)鍵被按下并且釋放時(shí)觸發(fā)此事件
onkeydown當(dāng)鍵盤上某個(gè)按鍵被按下時(shí)觸發(fā)此事件
onkeyup當(dāng)鍵盤上某個(gè)按鍵被按下后松開時(shí)觸發(fā)此事件
頁面相關(guān)事件onabort圖片在下載時(shí)被用戶中斷時(shí)觸發(fā)此事件
onbeforeunload當(dāng)前頁面的內(nèi)容將要被改變時(shí)觸發(fā)此事件
onerror出現(xiàn)錯誤時(shí)觸發(fā)此事件
onload頁面內(nèi)容完成時(shí)觸發(fā)此事件(也就是頁面加載事件)
onresize當(dāng)瀏覽器的窗口大小被改變時(shí)觸發(fā)此事件
onunload當(dāng)前頁面將被改變時(shí)觸發(fā)此事件

事件說明
表單相關(guān)事件onblur當(dāng)前元素失去焦點(diǎn)時(shí)觸發(fā)此事件
onchange當(dāng)前元素失去焦點(diǎn)并且元素的內(nèi)容發(fā)生改變時(shí)觸發(fā)此事件
onfocus當(dāng)某個(gè)元素獲得焦點(diǎn)時(shí)觸發(fā)此事件
onreset當(dāng)表單中RESET的屬性被激活時(shí)觸發(fā)此事件
onsubmit一個(gè)表單被遞交時(shí)觸發(fā)此事件
滾動字幕事件onbounce在Marquce內(nèi)的內(nèi)容移動至Marquce品示范圍之外時(shí)觸發(fā)此事件
onfinish當(dāng)Marquce元素完成需嬰顯示的內(nèi)容后觸發(fā)此事件當(dāng)Marquce元素開始顯示內(nèi)容時(shí)觸發(fā)此事件
onstartMarquce元素開始顯示內(nèi)容時(shí)觸發(fā)此事件
編輯事件onbeforecopy當(dāng)頁面當(dāng)前被選擇內(nèi)容將要復(fù)制到瀏覽者系統(tǒng)的剪貼板前觸發(fā)此事件
onbeforecut當(dāng)頁面中的部分或全部內(nèi)容被剪切到瀏覽者系統(tǒng)剪貼板時(shí)能發(fā)此事件
onbeforeeditfocus當(dāng)前元素將要進(jìn)入編輯狀態(tài)時(shí)觸發(fā)此事件
onbeforepaste當(dāng)要將內(nèi)容從瀏覽者的系統(tǒng)剪貼板中粘貼到頁面上時(shí)觸發(fā)此事件
onbeforeupdate當(dāng)瀏覽者粘貼系統(tǒng)剪貼板中的內(nèi)容時(shí)通知目標(biāo)對象
oncontextmenu當(dāng)瀏覽者按下鼠標(biāo)右鍵出現(xiàn)菜單時(shí)或者通過鍵盤的按鍵觸發(fā)頁面菜單時(shí)觸發(fā)此事件
oncopy當(dāng)頁面當(dāng)前的被選擇內(nèi)容被復(fù)制后觸發(fā)此事件
oncut當(dāng)頁面當(dāng)前的被選擇內(nèi)容被剪切時(shí)觸發(fā)此事件
ondrag當(dāng)某個(gè)對象被拖動時(shí)觸發(fā)此事件(活動事件)
ondragend當(dāng)鼠標(biāo)拖動結(jié)束時(shí)觸發(fā)此事件,即鼠標(biāo)的按鈕被釋放時(shí)
ondragente當(dāng)對象被鼠標(biāo)拖動進(jìn)入其容器范圍內(nèi)時(shí)觸發(fā)此事件
 
ondragleave當(dāng)對象被鼠標(biāo)拖動的對象離開其容器范圍內(nèi)時(shí)觸發(fā)此事件
ondragover當(dāng)被拖動的對象在另一對象容器范圍內(nèi)拖動時(shí)觸發(fā)此事件
ondragstart當(dāng)某對象將被拖動時(shí)觸發(fā)此事件
 
ondrop在一個(gè)拖動過程中,釋放鼠標(biāo)鍵時(shí)觸發(fā)此事件
onlosecapture當(dāng)元素失去鼠標(biāo)移動所形成的選擇焦點(diǎn)時(shí)觸發(fā)此事件
onpaste當(dāng)內(nèi)容被粘貼時(shí)觸發(fā)此事件
onselect當(dāng)文本內(nèi)容被選擇時(shí)觸發(fā)此事件
onselectstart當(dāng)文本內(nèi)容的選擇將開始發(fā)生時(shí)觸發(fā)此事件

事件 說明
數(shù)據(jù)綁定事件onafterupdate當(dāng)數(shù)據(jù)完成由數(shù)據(jù)源到對象的傳送時(shí)觸發(fā)此事件
oncellchange當(dāng)數(shù)據(jù)來源發(fā)生變化時(shí)觸發(fā)此事件
ondataavailable當(dāng)數(shù)據(jù)接收完成時(shí)觸發(fā)此事件
ondatasetchanged數(shù)據(jù)在數(shù)據(jù)源發(fā)生變化時(shí)觸發(fā)此事件
ondatasetcomplete當(dāng)數(shù)據(jù)源的全部有效數(shù)據(jù)讀取完畢時(shí)觸發(fā)此事件
onerrorupdate當(dāng)使用onbeforeupdate事件觸發(fā)取消了數(shù)據(jù)傳送時(shí),代替afterupdate事件
數(shù)據(jù)綁定事件onrowenter當(dāng)前數(shù)據(jù)源的數(shù)據(jù)發(fā)生變化井且有新的有效數(shù)據(jù)時(shí)觸發(fā)此事件
onrowexit當(dāng)前數(shù)據(jù)源的數(shù)據(jù)將要發(fā)生變化時(shí)觸發(fā)此事件
onrowsdelete當(dāng)前數(shù)據(jù)記錄將被刪除時(shí)觸發(fā)此事件
onrowsinserted當(dāng)前數(shù)據(jù)源將要插入新數(shù)據(jù)記錄時(shí)觸發(fā)此事件
外部事件onafterprint當(dāng)文檔被打印后觸發(fā)此事件
onbeforeprint當(dāng)文檔即將打印時(shí)觸發(fā)此事件
onfilterchange當(dāng)某個(gè)對象的濾鏡效果發(fā)生變化時(shí)觸發(fā)此事件
onhelp當(dāng)瀏覽者按下F1鍵或者單擊瀏覽器的幫助菜單時(shí)觸發(fā)此事件
onpropertychange當(dāng)對象的屬性之一發(fā)生變化時(shí)觸發(fā)此事件
onreadystatechange當(dāng)對象的初始化屬性值發(fā)生變化時(shí)觸發(fā)此事件

事件處理程序的調(diào)用

在使用事件處理程序?qū)撁孢M(jìn)行操作時(shí),最重要的是如何通過對象的事件來指定事件處理程序。

1.在JavaScript中

在JavaScript中調(diào)用事件處理程序,首先需要獲得要處理對象的引用,然后將要執(zhí)行的處理函數(shù)賦值給對應(yīng)的事件。

代碼:

<input id="save" name="bt_save" type="button" value="保存" />
<script language="JavaScript" type="text/javascript">
	var b_save=document.getElementById("save");
	b_save.onclick=function(){
		alert("單擊了保存按鈕");
	}
</script>

javascript事件處理的過程是什么javascript事件處理的過程是什么

2.在HTML中

在HTML中分配事件處理程序,只需要在HTML標(biāo)記中添加相應(yīng)的事件,并在其中指定要執(zhí)行的代碼或函數(shù)名即可。

<input name="bt_save" type="button" value="保存" onclick="clickFunction();"/>
<script language="JavaScript" type="text/javascript">
	function clickFunction(){
		alert("單擊了保存按鈕");
	}
</script>

讀到這里,這篇“javascript事件處理的過程是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI