===> 元素对象. on + 事件类型 =function( ){ }
语法格式: 事件源.on + 事件类型 = 事件处理程序
var btn = document.getElementById("btn");
btn.onclick = fuction( ){ }
实现过程:在事件源触发了响应操作之后,后面的事件处理程序就会呗浏览器调用
事件的解绑:事件源.on + 事件类型 = null;
*注:常见的事件类型 ==> onclick(点击事件) \ onfpucs(获取焦点事件) \ onblur(失去焦点事件) \ onmouseover、mouseenter(鼠标移入事件) \ onmouseout、mouseleave(鼠标移出事件) \ ondblclick(双击事件) \ onkeyup(键盘弹起事件) \ keydown (键盘按下事件) \ mousemove(鼠标移动事件)
区别:
1、onmouseover、onmouseout:鼠标经过时自身触发事件,经过其子元素时也触发该事件;(父亲有的东西,儿子也有) ,支持冒泡
2、onmouseenter、onmouseleave:鼠标经过时自身触发事件,经过其子元素时不触发该事件。(父亲的东西就是父亲的,不归儿子所有) ,不支持冒泡
===> 对象. addEventListener(事件类型,事件处理程序,是否在捕获阶段执行(可省略))
对象. addEventListener(“click”,function(){ });
事件的解绑:事件源.removeEventListener(”事件类型“,函数名,哪个阶段);
*注:IE8不支持
===> 对象. attachEvent(“on”+事件类型,事件处理程序);
对象.attachEvent(“onclick”,function(){ });
事件解绑:事件源.detachEvent( “事件类型”,函数名);
*注:仅 IE5-IE10 支持
==> addEventListener和attachEvent区别:
- 前者有三个参数,后者只有两个
- 前者类型不带 on ,后者需要带 on
- this 指向不一样,前者指向事件源,后者指向 window,可以通过wind