小言_互联网的博客

DOM级别及DOM事件级别、事件模型与事件对象Event

280人阅读  评论(0)

DOM级别及DOM事件级别

一、HTML事件处理程序

缺点:HTML和JS强耦合

二、DOM0级事件处理程序

绑定与解绑:<button id=”btn”>按钮</button>
绑定:
1、获取按钮var btn = document.getElementById(“btn”);
2、绑定事件btn.onclick = function(){alert(1)}
3、解绑事件:btn.onclick = null;

三、DOM2级事件处理程序

绑定语法:obj.addEventListener(事件类型,函数名称,布尔值);
解绑语法:obj.removeEventListener(事件类型,函数名称,布尔值);

<button id=”btn”>按钮</button>

绑定:
1、获取按钮var btn = document.getElementById(“btn”);
2、绑定事件DOM2级:btn.addEventListener(“click”,show,false);
3、定义函数:function show(){alert(1)}
4、区别:可以同时绑定多个处理函数
5、btn.addEventListener(“click”,han_shu,false);
6、定义函数2:function han_shu(){alert(2)}
7、解绑:btn.removeEventListener(“click”,show,false);

四、命名法则

熊出没—xiongchumo

匈牙利xcm(每个发音的首字母)
驼峰:小驼峰xiongChuMo(除了第一个发音以外,后面的首字母都大写)

大驼峰XiongChuMo(所有的首字母都大写)

下划线:xiong_chu_mo(每个发音用下划线)

五、DOM级别和DOM事件级别

DOM级别:DOM0、DOM1、DOM2、DOM3
DOM事件级别:DOM0级事件、DOM2级事件、DOM3级事件
最原始的事件处理程序:HTML事件处理程序;缺点:HTML和JS强耦合
DOM0级事件处理程序:耦合性较小;缺点:无法同时绑定多个处理函数。
DOM2级事件处理程序:对DOM0级事件的一个弥补,可以使用DOM2级语法进行多个事件的绑定。
DOM0级事件的解绑btn.onclick = null;
DOM2级事件的解绑btn.removeEventListener("click",show,false)

六、属性拓展

语言属性、键盘属性、核心属性
语言属性:lang=“en”
键盘属性、核心属性style、class、id、href、src、title、alt等等。

七、兼容

浏览器的内核不同,浏览器的内核分为渲染引擎和JS引擎

八、DOM2级事件的兼容处理

备注:IE的绑定 :attachEvent、解绑 :detachEvent

九、页面加载事件

JS:window.onload = function(){};-----函数表达式结构创建函数
当页面所有资源加载完毕之后执行,无法同时绑定多个处理程序–DOM0级
DOM2级加载:

document.addEventListener("DOMContentLoaded",function(){
	alert(2)
},false);

jQuery加载:
jQuery是由JS封装好的代码库,所以jQuery的加载事件属于DOM2级事件

事件模型与事件对象Event

一、事件模型- - - 事件流

二、事件流分类:

事件冒泡–自下而上、由内到外
事件捕获–自上而下、由外到内

三、事件冒泡:设置为false时为冒泡

阻止事件冒泡----通过event事件对象的stopPropagation()来阻止其向上传播。

四、顶级对象

五、事件捕获(自上而下)

1.window
2.document
3.html
4.body
5.目标节点

六、event对象- - -事件

1.阻止事件冒泡

event.stopPropagation();

2.阻止默认事件

七、事件源的概述

事件捕获阶段:事件从最上一级标签开始往下查找,直到捕获到事件目标(target)
事件冒泡阶段:事件从事件目标(target)开始,往上冒泡直到页面的最上一级标签。


转载:https://blog.csdn.net/weixin_45343973/article/details/101032689
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场