您好,登錄后才能下訂單哦!
本文小編為大家詳細(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的常用事件
事件 | 說明 | |
鼠標(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ā)此事件 | |
onstart | Marquce元素開始顯示內(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í),最重要的是如何通過對象的事件來指定事件處理程序。
在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>
在HTML中分配事件處理程序,只需要在HTML標(biāo)記中添加相應(yīng)的事件,并在其中指定要執(zhí)行的代碼或函數(shù)名即可。
讀到這里,這篇“javascript事件處理的過程是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。<input name="bt_save" type="button" value="保存" onclick="clickFunction();"/>
<script language="JavaScript" type="text/javascript">
function clickFunction(){
alert("單擊了保存按鈕");
}
</script>
免責(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)容。