JavaScript全解析——DOM事件(上)

2023-05-29 0 980

DOM 该事件

●是指使用者在某外交事务上虽然这种犯罪行为所继续执行的操作方式; (对网页原素的这种操作方式)

●两个该事件由马雷科部份共同组成

○促发谁的该事件:该事件源

○促发甚么该事件:该事件类别

○促发后做甚么:该阿提斯鲁夫尔谷表达式(该阿提斯鲁夫尔谷程序)var oDiv = document.querySelector(div) oDiv.onclick = function () {} // 谁来促发该事件 => oDiv => 那个该事件的该事件源是 oDiv // 促发甚么该事件 => onclick => 那个该事件类别是 click // 促发后做甚么 => function () {} => 那个该事件的处理表达式

●他们想在点选 div 后做什么事,就把他们要做的事写在该阿提斯鲁夫尔谷表达式里头

var oDiv = document.querySelector(div) oDiv.onclick = function () { console.log(你点选了 div) }

●当他们点选 div 的这时候,就会继续执行该阿提斯鲁夫尔谷表达式外部的标识符

●每点选一场,就会继续执行一场该阿提斯鲁夫尔谷表达式

该事件存取和该事件Shajapur

该事件存取

●该事件存取有DOM 0级和DOM 2级

●没有DOM 1级

○DOM级别1于1998年10月1日成为W3C推荐标准。1级DOM标准中并没有定义该事件相关的内容,所以没有所谓的1级DOM该事件模型。在2级DOM中除了定义了一些DOM相关的操作方式之外还定义了两个该事件模型 ,那个标准下的该事件模型是他们所说的2级DOM该事件模型

DOM 0级该事件存取

●他们现在给两个注册该事件都是使用 onxxx 的方式

●但是那个方式不是很好,只能给两个该事件源的同两个该事件类别, 只能存取两个该阿提斯鲁夫尔谷表达式

●一旦写了第二个该事件,那么第两个就被覆盖了

●语法:该事件源.onclick = 该阿提斯鲁夫尔谷程序(该阿提斯鲁夫尔谷表达式)oDiv.onclick = function () { console.log(我是第两个该事件) } oDiv.onclick = function () { console.log(我是第二个该事件) }

●当你点选的这时候,只会继续执行第二个,第两个就没有了

DOM 2级该事件存取 该事件监听

标准浏览器

●使用 addEventListener 的方式添加。addEventListener : 非 IE 7 8 下使用

●语法: 原素.addEventListener(该事件类别, 该阿提斯鲁夫尔谷表达式, 冒泡还是捕获)

●可以给同两个该事件源的同两个该事件类别存取多个该阿提斯鲁夫尔谷表达式oDiv.addEventListener(click, function () { console.log(我是第两个该事件) }, false) oDiv.addEventListener(click, function () { console.log(我是第二个该事件) }, false)

●当你点选 div 的这时候,两个表达式都会继续执行,并且会按照你注册的顺序继续执行

●先打印 我是第两个该事件 再打印 我是第二个该事件

●注意: 该事件类别的这时候不要写 on,点选该事件是 click,不是 onclick

IE低版本浏览器

●attachEvent :IE 7 8 下使用

●语法: 原素.attachEvent(该事件类别, 该阿提斯鲁夫尔谷表达式)

●可以给同两个该事件源的同两个该事件类别存取多个该阿提斯鲁夫尔谷表达式oDiv.attachEvent(onclick, function () { console.log(我是第两个该事件) }) oDiv.attachEvent(onclick, function () {console.log(我是第二个该事件) })

●当你点选 div 的这时候,两个表达式都会继续执行,并且会按照你注册的顺序倒叙继续执行

●先打印 我是第二个该事件 再打印 我是第两个该事件

●注意: 该事件类别的时候要写 on,点选该事件就行 onclick

两个方式的区别

●注册该事件的这时候该事件类别参数的书写

○addEventListener : 不用写 on

○attachEvent : 要写 on

●参数个数

○addEventListener : 一般是三个常用参数

○attachEvent : 两个参数

●继续执行顺序

○addEventListener : 顺序注册,顺序继续执行

○attachEvent : 顺序注册,倒叙继续执行

●适用浏览器

○addEventListener : 非 IE 7 8 的浏览器

○attachEvent : IE 7 8 浏览器

该事件Shajapur

DOM 0级该事件Shajapur

●语法:该事件源.on该事件类别 = null

●因为赋值符号, 当你给那个该事件类别赋值为 null 的这时候,会把本身的该阿提斯鲁夫尔谷表达式覆盖

●当你再次促发犯罪行为的这时候, 没有该阿提斯鲁夫尔谷表达式继续执行,相当于Shajapur了事<!DOCTYPE html> <html lang=“en”> <head> <meta charset=“UTF-8”> <meta name=“viewport” content=“width=device-width, initial-scale=1.0”> <meta http-equiv=“X-UA-Compatible” content=“ie=edge”> <title>Document</title> <style> div { width: 200px; height: 200px; background-color: pink; } </style> </head> <body> <button>该事件Shajapur</button> <div></div> <script> var div = document.getElementsByTagName(div)[0] var btn = document.getElementsByTagName(button)[0] // 1. DOM 0级 存取该事件 div.onclick = function() { console.log(你好 世界) } btn.onclick =function() { console.log(在这里操作方式Shajapur div 的该事件) // 1. DOM 0级 该事件Shajapur div.onclick = null console.log(Shajapur该事件的标识符继续执行完毕了) }</script> </body> </html>

DOM 2级该事件Shajapur

标准浏览器

●语法:该事件源.removeEventListener(该事件类别, 该阿提斯鲁夫尔谷表达式)

●注意:

○当你使用 DOM 2级 该事件Shajapur的这时候, 因为表达式是两个复杂数据类别, 所以你在存取的这时候

○需要把表达式单独书写出来, 以表达式名的形式进行存取和Shajapur<!DOCTYPE html> <html lang=“en”> <head> <meta charset=“UTF-8”> <meta name=“viewport” content=“width=device-width, initial-scale=1.0”> <meta http-equiv=“X-UA-Compatible” content=“ie=edge”> <title>Document</title> <style> div { width: 200px; height: 200px; background-color: pink; } </style> </head> <body> <button>该事件Shajapur</button> <div></div> <script> // 0. 获取原素 var div = document.getElementsByTagName(div)[0] var btn = document.getElementsByTagName(button)[0] // DOM 2级 该事件 标准浏览器 function a() { console.log(我是该阿提斯鲁夫尔谷表达式) } div.addEventListener(click, a) btn.onclick =function() { console.log(在这里操作方式Shajapur div 的该事件) // 2. DOM 2级 该事件Shajapur – 标准浏览器 //该事件源.removeEventListener(该事件类别, 该阿提斯鲁夫尔谷表达式) div.removeEventListener(click, a) console.log(Shajapur该事件的标识符继续执行完毕了) } </script> </body> </html>

IE低版本浏览器

●语法:该事件源.detachEvent(on该事件类别, 该阿提斯鲁夫尔谷表达式)

●注意:

○当你使用 DOM 2级 该事件Shajapur的这时候, 因为表达式是两个复杂数据类别, 所以你在存取的这时候

○需要把表达式单独书写出来, 以表达式名的形式进行存取和Shajapur<!DOCTYPE html> <html lang=“en”> <head> <meta charset=“UTF-8”> <meta name=“viewport” content=“width=device-width, initial-scale=1.0”> <meta http-equiv=“X-UA-Compatible” content=“ie=edge”> <title>Document</title> <style> div { width: 200px; height: 200px; background-color: pink; }</style> </head> <body> <button>该事件Shajapur</button> <div></div> <script> var div = document.getElementsByTagName(div)[0] var btn = document.getElementsByTagName(button)[0] // DOM 2级 该事件 IE 低版本 function b() { console.log(IE 的该阿提斯鲁夫尔谷表达式) } div.attachEvent(onclick, b) btn.onclick = function() { console.log(在这里操作方式Shajapur div 的该事件) //DOM 2级 该事件Shajapur – IE 低版本 div.detachEvent(onclick, b) console.log(Shajapur该事件的标识符继续执行完毕了) } </script> </body> </html>

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务