JavaScript中DOM操作常用事件總結(jié)
上一篇聊了如何同JavaScript獲得頁面元素,而獲得頁面元素的的目的就是操作這個(gè)元素的一行為,而這個(gè)行為是通過某個(gè)條件進(jìn)行觸發(fā)的。而這個(gè)一系列在JavaScript中稱之為事件。
由此可以看出事件分三個(gè)部分:
事件源頭: 也就是要操作的元素是誰。
事件類型: 也就是事件觸發(fā)條件,比如鼠標(biāo)點(diǎn)擊以及鼠標(biāo)滑過等。
事件處理: 如果觸發(fā)了這個(gè)行為,如何操作,以及操作結(jié)果。
常用事件
現(xiàn)在說一下常用的事件,這個(gè)不是全部的事件,如果需要了解全部的事件可以看官方文檔。
常用的事件有:
事件類型 | 描述 |
---|---|
onblur | 對(duì)象失去焦點(diǎn)的時(shí)候觸發(fā) |
onfous | 當(dāng)獲得焦點(diǎn)的時(shí)候觸發(fā) |
onclick | 用戶鼠標(biāo)左鍵點(diǎn)擊的時(shí)候觸發(fā) |
ondblclick | 用戶雙擊時(shí)候觸發(fā) |
onchange | 當(dāng)對(duì)象或者選中區(qū)內(nèi)容改變的時(shí)候觸發(fā) |
onkeyup | 當(dāng)用戶釋放鍵盤按鍵時(shí)候觸發(fā)(還有兩個(gè)事件onkeydown和onkeypress) |
onload | 瀏覽器加載完畢后立即觸發(fā) |
onmouseout | 當(dāng)用戶將鼠標(biāo)移出對(duì)象范圍時(shí)觸發(fā) |
onmouseover | 當(dāng)用戶數(shù)鼠標(biāo)在對(duì)象上滑動(dòng)的時(shí)候觸發(fā) |
onselect | 當(dāng)當(dāng)前選擇區(qū)改變時(shí)觸發(fā) |
onunload | 對(duì)象卸載前理解觸發(fā) |
下面演示的時(shí)候會(huì)有些涉及到涉及到一些屬性的變化,可以先不關(guān)心而是關(guān)系這個(gè)事件是如何觸發(fā)發(fā)。后面單獨(dú)為再寫一篇關(guān)于屬性的修改以及賦值。
演示得到焦點(diǎn)和失去焦點(diǎn)
演示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測(cè)試文檔</title> </head> <body> <!--可以在標(biāo)簽上直接綁定事件類型--> <label>姓名</label> <input id="testid" type="text" onfocus="test_foncus()" value="請(qǐng)輸入"> <script> var element=document.getElementById("testid"); function test_foncus() { if (element.value=="請(qǐng)輸入"){ element.value=""; } } // 也可以主頁綁定事件類型 element.onblur=function () { console.log(element.value); if (element.value==""){ element.value="請(qǐng)輸入"; } } </script> </body> </html>
演示 鼠標(biāo)劃過和離開
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測(cè)試文檔</title> <style> div { width: 200px; height: 200px; background-color: blue; } </style> </head> <body> <div id="testid" ></div> <script> var element=document.getElementById("testid"); element.onmouseover=function () { element.style='background-color:pink;'; } element.onmouseout=function () { element.style='background-color:blue;'; } </script> </body> </html>
點(diǎn)擊事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測(cè)試文檔</title> <style> </style> </head> <body> <button id="testid">點(diǎn)擊按鈕</button> <script> var element=document.getElementById("testid"); element.onclick=function () { confirm("你確定你要點(diǎn)擊?") } </script> </body> </html>
load加載頁面事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測(cè)試文檔</title> <style> </style> </head> <body> <div id="testid1"></div> <hr> <div id="testid2"></div> <script> var element1=document.getElementById("testid1"); var element2=document.getElementById("testid2"); // 一般onload加載是監(jiān)控的是這個(gè)頁面的加載所以一般都是window調(diào)用 window.onload=function () { element1.innerText="innerText插入"; element2.innerHTML="<h1>innerHTML插入</h1>" } </script> </body> </html>
補(bǔ)充 innerText和innerHTML區(qū)別
- innerText 在頁面上輸出文本內(nèi)容,直接將標(biāo)簽刪除
- innerHTML在頁面上輸出標(biāo)簽效果以及其內(nèi)容。
onkeyup 鍵盤彈起事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測(cè)試文檔</title> <style> </style> </head> <body> <input id="testid" type="text"> <script> var element=document.getElementById("testid"); element.onkeyup=function () { alert("你在輸入內(nèi)容啊") } </script> </body> </html>
內(nèi)容變化事件
演示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測(cè)試文檔</title> <style> </style> </head> <body> <input id="testid" type="text"> <script> var element=document.getElementById("testid"); // 到鼠標(biāo)離開的時(shí)候就會(huì)變得是否內(nèi)容修改 element.onchange=function () { alert("你在修改嗎?") } </script> </body> </html>
選中時(shí)觸發(fā)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測(cè)試文檔</title> <style> </style> </head> <body> <input id="testid" type="text" value="點(diǎn)擊兩次選選擇"> <script> var element=document.getElementById("testid"); element.onselect=function () { alert(element.value); } </script> </body> </html>
到此這篇關(guān)于JavaScript中DOM操作常用事件總結(jié)的文章就介紹到這了,更多相關(guān)JavaScript DOM事件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaScript DOMContentLoaded事件案例詳解
- JavaScript WebAPI、DOM、事件和操作元素實(shí)例詳解
- 詳解用js代碼觸發(fā)dom事件的實(shí)現(xiàn)方案
- JS前端知識(shí)點(diǎn)總結(jié)之頁面加載事件,數(shù)組操作,DOM節(jié)點(diǎn)操作,循環(huán)和分支
- JS實(shí)現(xiàn)同一DOM元素上onClick事件與onDblClick事件并存的解決方法
- js中DOM事件綁定分析
- JS對(duì)象與JSON互轉(zhuǎn)換、New Function()、 forEach()、DOM事件流等js開發(fā)基礎(chǔ)小結(jié)
- js學(xué)習(xí)總結(jié)之dom2級(jí)事件基礎(chǔ)知識(shí)詳解
- JS實(shí)現(xiàn)動(dòng)態(tài)添加DOM節(jié)點(diǎn)和事件的方法示例
- JavaScript DOM操作與事件處理方法
相關(guān)文章
JavaScript實(shí)現(xiàn)全選或反選功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)全選或反選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08關(guān)于uniApp editor微信滑動(dòng)問題
這篇文章主要介紹了關(guān)于uniApp editor微信滑動(dòng)問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能
FileReader 對(duì)象允許Web應(yīng)用程序異步讀取存儲(chǔ)在用戶計(jì)算機(jī)上的文件內(nèi)容,使用 File或 Blob對(duì)象指定要讀取的文件或數(shù)據(jù)。下面通過本文給大家分享JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能,需要的朋友參考下吧2017-09-09JavaScript實(shí)現(xiàn)圖像模糊化的方法實(shí)例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)圖像模糊化的方法,文中先進(jìn)行簡(jiǎn)單介紹,而后給出了完整的實(shí)例代碼,有需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01uniapp小程序?qū)崙?zhàn)之利用騰訊地圖獲取定位
使用uniapp是因?yàn)樗且粋€(gè)使用vue.js開發(fā)所有前端應(yīng)用的框架,開發(fā)者編寫一套代碼,可以發(fā)布到ios,android,web以及各種小程序,快應(yīng)用等多個(gè)平臺(tái),下面這篇文章主要給大家介紹了關(guān)于uniapp小程序?qū)崙?zhàn)之利用騰訊地圖獲取定位的相關(guān)資料,需要的朋友可以參考下2023-02-02js頁面跳轉(zhuǎn)的問題(跳轉(zhuǎn)到父頁面、最外層頁面、本頁面)
js頁面跳轉(zhuǎn):本頁面跳轉(zhuǎn),上一層頁面跳轉(zhuǎn),最外層的頁面跳轉(zhuǎn),下面為大家大家分享下不同頁面之家的跳轉(zhuǎn)問題,感興趣的朋友可以學(xué)習(xí)下2013-08-08Bootstrap布局之柵格系統(tǒng)學(xué)習(xí)筆記
這篇文章主要為大家詳細(xì)介紹了Bootstrap布局之柵格系統(tǒng)的學(xué)習(xí)筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05JS+CSS模擬可以無刷新顯示內(nèi)容的留言板實(shí)例
這篇文章主要介紹了JS+CSS模擬可以無刷新顯示內(nèi)容的留言板,涉及javascript操作dom元素、鼠標(biāo)事件及css樣式的技巧,需要的朋友可以參考下2015-03-03