各种事件
// click 点击// load 加载// focus 触发焦点// blur 离开焦点// change 改变// submit 表单提交// reset 表单重置// resize 窗口大小改变// mouseover 鼠标移入// mouseout 鼠标移除// scroll 滚动条
添加事件
<!-- 1. html 属性绑定事件 --><p onclick="alert('点击事件')">按钮</p><!-- 2. dom 绑定事件 --><script> var p = document.getElementsByTagName('p')[0] p.onclick = function(e) { e // 当前事件对象,例如有些对象 "keydown" 按下键盘,可以通过 e 这个对象获取到 按键码,或者 "mousedown" 鼠标点击左键还是右键,“ mouseover” 当前光标坐标 ... this // 代表了当前元素 "p" }</script>
冒泡和捕获
<!DOCTYPE html><html><head> <title>事件冒泡</title></head><body> <div>点击事件</div> <script type="text/javascript"> /* 我们为 “body” 和 “div” 都绑定了事件对象,由于 “div” 是 “body” 的子元素,触发了 “div” 的同时,也会触发了 “body”,所有这两者的触发顺序模型,就是捕获和冒泡。 本例中,我们在 addEventListener 的第三个参数设置为 “false”,所以触发的是 “冒泡事件”,执行的顺序是先 “div” 后 “body”,从下级往上级 “冒” 捕获呢,则是反之,只需要把 “false” 修改成 “true” */ document.getElementsByTagName('body')[0].addEventListener('click', function() { alert(this) // [object HTMLBodyElement] }, false) document.getElementsByTagName('div')[0].addEventListener('click', function() { alert(this) // [object HTMLDivElement] }, false) </script></body></html>
移除事件
// 绑定window.addEventListener('click',f)// 移除window.removeEventListener('click', f)