您好,登錄后才能下訂單哦!
這篇文章主要介紹“JavaScript中BOM,DOM和事件怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“JavaScript中BOM,DOM和事件怎么使用”文章能幫助大家解決問題。
BOM全稱Browser Object Model瀏覽器對象模型,將瀏覽器的各個組成部分封裝成對象。
Window:窗口對象
Navigator:瀏覽器對象
Screen:顯示器屏幕對象
History:歷史記錄對象
Location:地址欄對象
方法
與彈出框有關的方法
alert() 顯示帶有一段消息和一個確認按鈕的警告框。 confirm() 顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。 如果用戶點擊確定按鈕,則方法返回true 如果用戶點擊取消按鈕,則方法返回false prompt() 顯示可提示用戶輸入的對話框。 返回值:獲取用戶輸入的值
與打開關閉有關的方法
close() 關閉瀏覽器窗口。 誰調用我 ,我關誰 open() 打開一個新的瀏覽器窗口 返回新的Window對象
與定時器有關的方式
setTimeout() 在指定的毫秒數后調用函數或計算表達式。
參數:
js代碼或者方法對象
毫秒值
返回值:唯一標識,用于取消定時器
clearTimeout() 取消由 setTimeout() 方法設置的 timeout。 setInterval() 按照指定的周期(以毫秒計)來調用函數或計算表達式。 clearInterval() 取消由 setInterval() 設置的 timeout。
屬性
獲取其他BOM對象
history location Navigator Screen:
獲取DOM對象
document
特點
Window對象不需要創建可以直接使用 window使用。 window.方法名(); window引用可以省略。 方法名();
創建(獲取):
window.location location
方法:
reload() 重新加載當前文檔。刷新
屬性
href 設置或返回完整的 URL。
創建(獲取):
window.history history
方法:
back() 加載 history 列表中的前一個 URL。 forward() 加載 history 列表中的下一個 URL。 go(參數) 加載 history 列表中的某個具體頁面。
參數:
正數:前進幾個歷史記錄 負數:后退幾個歷史記錄
屬性
length 返回當前窗口歷史列表中的 URL 數量。
DOM全稱Document Object Model 文檔對象模型,將標記語言文檔的各個組成部分,封裝為對象。可以使用這些對象,對標記語言文檔進行CRUD的動態操作。
1.核心 DOM - 針對任何結構化文檔的標準模型
Document:文檔對象 Element:元素對象 Attribute:屬性對象 Text:文本對象 Comment:注釋對象 Node:節點對象,其他5個的父對象
2.XML DOM - 針對 XML 文檔的標準模型
3.HTML DOM - 針對 HTML 文檔的標準模型
Document:文檔對象
創建(獲取):在html dom模型中可以使用window對象來獲取
1. window.document
2. document
方法:
1.獲取Element對象:
getElementById() : 根據id屬性值獲取元素對象。id屬性值一般唯一
getElementsByTagName():根據元素名稱獲取元素對象們。返回值是一個數組
getElementsByClassName():根據Class屬性值獲取元素對象們。返回值是一個數組
getElementsByName(): 根據name屬性值獲取元素對象們。返回值是一個數組
2.創建其他DOM對象:
createAttribute(name) createComment() createElement() createTextNode()
Element:元素對象
獲取/創建:通過document來獲取和創建
方法
1. removeAttribute():刪除屬性
2. setAttribute():設置屬性
Node:節點對象,其他5個的父對象
特點:所有dom對象都可以被認為是一個節點
方法
CRUD dom樹:
appendChild():向節點的子節點列表的結尾添加新的子節點。
removeChild() :刪除(并返回)當前節點的指定子節點。
replaceChild():用新節點替換一個子節點。
屬性
parentNode 返回節點的父節點。
標簽體的設置和獲取:innerHTML
使用html元素對象的屬性
控制元素樣式
使用元素的style屬性來設置
如: //修改樣式方式1 div1.style.border = "1px solid red"; div1.style.width = "200px"; //font-size--> fontSize div1.style.fontSize = "20px";
提前定義好類選擇器的樣式,通過元素的className屬性來設置其class屬性值。
概念:某些組件被執行了某些操作后,觸發某些代碼的執行。
事件:某些操作。如: 單擊,雙擊,鍵盤按下了,鼠標移動了
事件源:組件。如: 按鈕 文本輸入框...
監聽器:代碼。
注冊監聽:將事件,事件源,監聽器結合在一起。 當事件源上發生了某個事件,則觸發執行某個監聽器代碼。
點擊事件
onclick:單擊事件
ondblclick:雙擊事件
焦點事件
onblur:失去焦點
onfocus:元素獲得焦點。
加載事件
onload:一張頁面或一幅圖像完成加載。
鼠標事件
onmousedown 鼠標按鈕被按下。
onmouseup 鼠標按鍵被松開。
onmousemove 鼠標被移動。
onmouseover 鼠標移到某元素之上。
onmouseout 鼠標從某元素移開。
鍵盤事件
onkeydown 某個鍵盤按鍵被按下。
onkeyup 某個鍵盤按鍵被松開。
onkeypress 某個鍵盤按鍵被按下并松開。
選擇和改變
onchange 域的內容被改變。
onselect 文本被選中。
表單事件
onsubmit 確認按鈕被點擊。
onreset 重置按鈕被點擊。
功能: 某些組件被執行了某些操作后,觸發某些代碼的執行。
造句: xxx被xxx,我就xxx 我方水晶被摧毀后,我就責備對友。 敵方水晶被摧毀后,我就夸獎自己。
如何綁定事件
直接在html標簽上,指定事件的屬性(操作),屬性值就是js代碼
事件:onclick--- 單擊事件
通過js獲取元素對象,指定事件屬性,設置一個函數
代碼:
<body> <img id="light" src="img/off.gif" onclick="fun();"> <img id="light2" src="img/off.gif"> <script> function fun(){ alert('我被點了'); alert('我又被點了'); } function fun2(){ alert('咋老點我?'); } //1.獲取light2對象 var light2 = document.getElementById("light2"); //2.綁定事件 light2.onclick = fun2; </script> </body>
案例1:電燈開關
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>電燈開關</title> </head> <body> <img id="light" src="img/off.gif"> <script> / 分析: 1.獲取圖片對象 2.綁定單擊事件 3.每次點擊切換圖片 規則: 如果燈是開的 on,切換圖片為 off 如果燈是關的 off,切換圖片為 on 使用標記flag來完成 / //1.獲取圖片對象 var light = document.getElementById("light"); var flag = false;//代表燈是滅的。 off圖片 //2.綁定單擊事件 light.onclick = function(){ if(flag){//判斷如果燈是開的,則滅掉 light.src = "img/off.gif"; flag = false; }else{ //如果燈是滅的,則打開 light.src = "img/on.gif"; flag = true; } } </script> </body> </html>
效果如下:
關于“JavaScript中BOM,DOM和事件怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。