js中dom0级事件和dom2级事件使用

本文详细介绍了DOM0级事件和DOM2级事件的区别与应用场景,包括如何添加、触发和删除事件,以及事件冒泡与捕获的概念。

1.dom0级事件

在介绍dom0级事件之前,先简单介绍一下html事件,类似与一下代码的事件都叫做html事件:
	<div onclick="fun([实参])"></div>
		<script type="text/javascript">
			function fun([形参]){
//				代码部分
			}
            </script>

以上的情况就叫做html事件,也算是比较常用的事件情况。

ok,下面介绍dom0级事件,直接看代码比较清晰,类似与下面的代码的情况:
		<div id="mydiv"></div>
		<script type="text/javascript">
			var mydiv=document.getElementById("mydiv");
			mydiv.onclick=function(){
//				代码部分
			}
			
		</script>
(名字是随便起的,便于理解),还可以是一下这种情况:
		<div id="mydiv"></div>
		<script type="text/javascript">
			document.getElementById("mydiv").onclick = function() {
				//				代码部分
			}
		</script>
这两种情况本质上没有区别,只是获取多了一个获取元素对象的过程。

2.dom2事件

1.其实从dom0级事件到dom2级事件,当中也经历过dom1级事件,只不过没什么变化,所有也就忽略掉了。
如果要讲解dom2级事件,就会牵扯到js中事件的嵌套和传递,。该篇只介绍dom2级事件,其他的可以去看上一篇博客。
dom2级事件是通过以下方法来实现的:
addEventListener('事件类型','函数名','true/false')

2.dom2级事件可以用于多重嵌套的事件中,最后一个参数true表示捕获,false的话表示冒泡。如果不写的话默认是冒泡的。而且使用dom2级事件还可以同时给同一个元素设置多个事件,类似下面代码:
var oinput = document.getElementById("in");
			oinput.addEventListener('mouseover',f1);
			oinput.addEventListener('click',f2);
			oinput.addEventListener('click',f3);
			function f1(){
				oinput.style.width="300px";
				oinput.style.height="30px"
			}
			function f2(){
				oinput.style.background="red";
			}
			function f3(){
				oinput.style.border="3px solid yellow";
			}
为了说明所以写了很简单的代码,这些方法都会被调用,所以dom2级事件可以设置多个事件。

3.删除事件

1.删除dom0级事件:
document.getElement("..").onclick=null

2.删除dom2级事件:
removeEventListener('事件类型','函数名','true/false')


4.dom0级事件和dom2级事件的使用场景

其实这个应该是具体情况具体分析的,但是在使用dom0级事件的时候,这个只支持冒泡不支持捕获。dom2级事件可以通过设置true/false来实现冒泡或者捕获。但是注意
冒泡可以被阻止,捕获不能被阻止。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值