一、BOM
瀏覽器對象模型
window.location 包含地址信息
.pathname
.host
.port
window.open(); 打開新窗口
window.close(); 關(guān)閉窗口
二、獲取元素的各種信息
獲取元素盒子模型
oEle.offsetWidth
oEle.offsetHeight
獲取元素相對位置
oEle.offsetLeft
oEle.offsetTop
獲取元素絕對位置
function getPos(obj){
var l = 0,
t = 0;
while(obj){
l+=obj.offsetLeft;
t+=obj.offsetTop;
obj = obj.offsetParent;
}
return {left: l, top: t};
}
獲取可視區(qū)寬高
document.documentElement.clientWidth
document.documentElement.clientHeight
獲取滾動距離
document.documentElement.scrollTop||document.body.scrollTop
document.documentElement.scrollLeft||document.body.scrollLeft
新事件
window.onresize 可視區(qū)大小改變觸發(fā)
window.onscroll 滾動距離改變觸發(fā)
可視區(qū)寬高
document.documentElement.clientWidth 可視區(qū)寬
document.documentElement.clientHeight 可視區(qū)高
滾動距離
scrollTop 垂直方向
document.documentElement.scrollTop||document.body.scrollTop
scrollLeft 水平方向
document.documentElement.scrollLeft||document.body.scrollLeft
三酪刀、瀑布流
oEle.getElementsByTagName
oEle.getElementsByClassName
oEle.children;
注意:獲取出來的都是偽數(shù)組,不能使用數(shù)組的方法
獲取高度
獲取盒子模型高度
oEle.offsetHeight
獲取內(nèi)容高度
oEle.scrollHeight
當(dāng)內(nèi)容小于高度钮孵,獲取的是height+padding骂倘,如果內(nèi)容超過高度,獲取的是內(nèi)容高度
四巴席、事件历涝、事件對象
事件
onclick 點(diǎn)擊事件
onmouseover 鼠標(biāo)移入
onmouseout 鼠標(biāo)移出
onscroll 滾動距離改變
onresize 改變可視區(qū)大小
onload 加載完執(zhí)行
onmousemove 鼠標(biāo)移動觸發(fā)
oncontextmenu 上下文菜單
---------------------------------------------------
事件對象 包含了事件的詳細(xì)信息
ev(參數(shù)) 不兼容IE6、7漾唉、8
event 不兼容Firefox
var oEvent = ev||event;
獲取鼠標(biāo)在可視區(qū)中的坐標(biāo)
oEvent.clientX
oEvent.clientY
----------------------------------------------------
鍵盤事件
onkeydown 鍵盤按下
onkeyup 鍵盤抬起
獲取鍵碼
oEvent.keyCode
a 65
0 48
1 49
← 37
↑ 38
→ 39
↓ 40
瀏覽器默認(rèn)行為
需求:
阻止瀏覽器默認(rèn)行為
事件中:
return false;
事件冒泡
子級的事件荧库,會觸發(fā)父級相同的事件
取消冒泡
oEvent.cancelBubble = true;
五、拖拽
鼠標(biāo)按下
onmousedown
獲取鼠標(biāo)在元素中的位置
disX = clientX-offsetLeft
disY = clientY-offsetTop
鼠標(biāo)移動
onmousemove
clientX-disX
clientY-disY
鼠標(biāo)抬起
onmouseup
onmousemove = null;
onmouseup = null;
會選中文字
return false阻止默認(rèn)行為
ie低版本失效
解決:
設(shè)置捕獲
oEle.setCapture&&oEle.setCapture();
釋放捕獲
oEle.releaseCapture&&releaseCapture();
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者