事件
就是和浏览器产生交互效果的,事件触发和函数一起使用,当触发事件的时候,调用相应的事件去处理接下来的事情。
DOM0
级事件
直接在
dom对象
上注册事件名称,所有浏览器都支持。
document.getElementById('div1').onclick=function(e){
// 触发事件之后的操作}
事件触发会默认传入一个参数e
:事件对象
;通过这个事件对象,可以获取到触发这个事件的dom元素
,点击的坐标值,等一些主要的信息。当然事件的触发也可以这样写:
document.getElementById('div1')['onclick']=function(e){
// 触发事件后的操作}
这上面的两种事件的触发,其实也就是js对象
身上属性的两种访问方式,也就是说:
- DOM0
级事件是元素对象的私有属性;
- 同一个元素对象,同一个事件行为,只能绑定一次,多次绑定,后面的会覆盖前面的;
- DOM0
级事件发生在事件流的冒泡阶段
DOM0
级事件中的this
一般下面这种写法的时候,当事件触发的时候,事件中的this
就是指向触发该事件的dom
元素对象
<script>
var oDiv=document.getElementById('div1');
oDiv.onclick=function(e){
// 触发事件之后的操作
alert(this.id); // div1
}
// 要想解除div身上的点击事件,直接在后面注册点击事件并且设置为null
oDiv.onclick=null;
</script>
当把事件写在html代码
里面的时候,虽然也遵守事件覆盖的原则