获取物体信息
obj.offsetWidth/Height 物体宽高
盒子模型: Width/Height+padding+border
obj.offsetLeft/Top 绝对距离
obj.getBoundingClientRect().left/top/right/bottom 绝对位置
obj.offsetParent 定位父级
拖拽时的事件
onmousedown 按下
onmousemove 移动
onmouseup 抬起
事件对象
function(ev){
ev.clientX 鼠标距离页面的X
ev.clientY 鼠标距离页面的Y
阻止浏览器默认事件
return false;
可视区宽高
document.documentElement.clientWidth
document.documentElement.clientHeight
键盘鼠标事件
oncontextmenu 鼠标右键
ondblclick 双击事件
onkeydown 键盘事件
ev,keyCode
组合键 ev.ctrlKey&&keyCode==67 Ctrl+c
ev.AltKey&&keyCode ev.ShiftKey&&keyCode
事件冒泡
条件: 1、只看事件 2、父子级嵌套 3、事件相同
取消: ev.cancelBubble=true; <出现问题才取消>
事件下沉/事件捕获
事件绑定(改变最后一个参数为true)
事件绑定
obj.addEventListener(click,fn,false); 解决事件冲突
obj.removeElementListener(click,fn,false); 解除绑定
事件委托
定义:自己的事情交给别人做(事件冒泡原理)
事件加给父级,事件对象下面有一个事件源头
判断标签是否是子级,不是子级阻止掉
事件源 ev.srcElement
优点:1、给未来元素加事件 2、可以省for循环
获取滚动距离
document.body.scrollTop 高版本
document.documentElement.srcllTop 低版本
滚动事件
window.onscroll
JS加载顺序
window.onload
HTML+CSS+(img/video/audio/flash)+JS
document.addElementListenner(‘DOMContentLoad’,fn,false;)
HTML+CSS+JS +(img/video/audio/flash)