BOM基礎
1.什么是BOM - 瀏覽器對象模型(browser object model)
js中提供了一個全局的window對象,用來表示當前的瀏覽器
js中聲明的全局變量,其實都是綁定在window對象屬性中(使用window的屬性和方法的時候,前面window可以省略)
2.window基本操作
a.打開新窗口
window.open(url) - 返回一個窗口對象
b.關閉窗口
window.close()
c.移動當前窗口
窗口對象.moveTo(x坐標,y坐標)
d調(diào)整窗口大小
窗口對象.resizeTo(x,y)
刷新 - window.reload()
f.獲取瀏覽器的寬度和高度
innerWidth/innerHeight - 瀏覽器顯示內(nèi)容的部分的寬度和高度
outerWidth/outerHeight - 整個瀏覽器的寬度和高度
3.彈框
alert(提示信息) - 彈出提示信息(帶確認按鈕)
confirm(提示信息) - 彈出提示信息(帶確認和取消按鈕),返回值是布爾值,取消 - false 確認 - true
c.prompt(提示信息,輸入框中的默認值) - 彈出一個帶輸入框和取消,確認按鈕的提示框 - 點取消,返回值是null,點擊確認返回的是輸入框中輸入的內(nèi)容
定時事件
1.setInterval(函數(shù),時間) - 每隔指定的時間,就執(zhí)行一次函數(shù),時間單位是毫秒,返回定時對象
clearInterval(定時對象) - 停止指定的定時器
1000毫秒 = 1秒
2.setTimeout(函數(shù),時間) - 隔指定的時間執(zhí)行函數(shù)(只執(zhí)行一次)
clearTimeout(定時對象) - 停止定時
js是事件驅(qū)動語言
1.事件三要素(事件源,事件,事件驅(qū)動程序)
2綁定事件
第一步:獲取事件源
第二步:綁定事件
第三步:寫驅(qū)動程序
a.在標簽內(nèi)部給事件源的事件屬性賦值
<標簽 事件屬性='驅(qū)動程序'><標簽>
<標簽 事件屬性='函數(shù)名()'> <標簽> - 一般不這樣綁定
注意:這個時候被綁定的驅(qū)動程序如果是函數(shù),那么這個函數(shù)中的this關鍵字是window
b.通過節(jié)點綁定事件()
標簽節(jié)點.事件屬性 = 函數(shù)
注意:這個時候函數(shù)中的this是事件源
c.通過節(jié)點綁定事件
標簽節(jié)點.事件屬性 = 匿名函數(shù)
注意:這個時候函數(shù)中this是事件源
d.通過節(jié)點綁定事件
標簽節(jié)點.addEventListener(事件名,函數(shù)) - 指定的節(jié)點產(chǎn)生指定的事件后調(diào)用函數(shù)
事件名 - 字符串, 去掉on
注意:這個時候函數(shù)中的this是事件源,這種方式可以給同一個節(jié)點的同一事件綁定多個驅(qū)動程序
3.獲取事件對象
當事件的驅(qū)動程序是一個函數(shù)的時候,函數(shù)中可以設置一個參數(shù),來獲取當前事件的事件對象
//參數(shù)evnet就是事件對象
//a.clientX/clientY - 事件產(chǎn)生的位置的坐標(相對瀏覽器內(nèi)容的部分)
常見事件類型
1.onload - 頁面加載完成對應的事件
window.onload = 函數(shù)
2.鼠標事件
onclick - 點擊
onmouseover - 鼠標移入
onmouseout - 鼠標移出
onmousedown - 鼠標按下
onmouseup - 鼠標彈起
3.鍵盤事件
onkeypress - 按下彈起
鍵盤事件對象:key屬性 - 按鍵的值, keycode屬性 - 按鍵的編碼
onkeydown - 按下
onkeyup - 彈起
4.輸入框內(nèi)容改變
onchange - 輸入框輸入狀態(tài)結(jié)束