IE特有
div.setCapture();将所有的事件捕获到自己身上
div.releaseCapture();结束捕获
事件分类
一:鼠标事件
click mousedown mousedown mouseup contextmenu mouseover mouseout mouseenter mouseleave
click = onmousedown + onmouseup
mouseover(进入) mouseout(离开)
HTML5: mouseenter mouseleave
只有onmousedown 和 onmouseup 监听左右键(click只能监听左键)
用event.button来区别左右键 0 1 2
e.button == 2 右键
e.button == 0 左键
e.button == 1 中间滚轮
区分点击和拖拽
计算onmousedown和onmouseup之间的时间差 如果小于某个数值 就执行click的事件处理事件
二:键盘事件
keydown keyup keypress
keydown keyup 一对 先down keypress 后up
keydown keypress 按住按键 可以连续触发
keydown keypress的区别
keydown 检测所有的按键 检测操作类按键 无法检测大小写
String.formCharCode(e.charcode)得到按键上面的值
keypress 检测ASCII表中的字符按键
三:文本操作事件
ele.oninput = function(){
文本有变化 就会触发
}
ele.onchange = function(){
鼠标聚焦时的内容 和 失去焦点时的内容是否发生变化
如果发生变化的话 就会触发change事件
}
ele.onfoucs = function(){
获得焦点
xxx
}
ele.onblur = function(){
失去焦点
}
四:窗口事件类
scroll(window上的事件) load
IE6 没有fixed的属性 可以用position:absolute + scroll来实现
absolute 相对于文档
fixed 相对于窗口 + scroll滚轮移动的距离 = absolute
window.onload(页面所有东西全部加载完成 再执行这个onload)
domTree + cssTree = renderTree(渲染树)
document
html
head body
…
先解析 后下载