NodeIterator和TreeWalker这2个类型可以基于给定的起点对DOM结构执行深度优先遍历.(我测试用的浏览器是Chrome,介绍说IE不支持DOM遍历,但是不知道最新的IE支持不支持) 1.NodeIterator 使用document.createNodeIterator()方法创建新实例,该方法接受4个参数: (1).root:要访问的树的根节点. (2).whatToShow:要访问的节点的数字代码. (3).filter:是一个NodeFilter对象,或者一个表示过滤特定…
DOM2级事件中addEventListener的执行机制,多个addEventListener同时添加时的执行先后规律: W3C的DOM事件触发分为三个阶段:①.事件捕获阶段,即由最顶层元素(一般是从window元素开始,有的浏览器是从document开始,至于其中的差别我稍后会更新)开始,逐次进入dom内部,最后到达目标元素,依次执行绑定在其上的事件②.处于目标阶段,检测机制到达目标元素,按事件注册顺序执行绑定在目标元素上的事件.③.事件冒泡阶段,从目标元素出发,向外层元素冒泡,最后到达顶层…
下面这些客户端 javascript代码用到了事件,它给一个很重要的事件--“load" 事件注册了一个事件处理程序.同时展示了注册”click“事件处理函数更高级的一种方法 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <b…
一.DOM 事件模型 DOM 事件模型包括捕获和冒泡,捕获是从上往下到达目标元素,冒泡是从当前元素,也就是目标元素往上到 window 二.流 流的概念,在现今的 JavaScript 中随处可见.比如说 React 中的单向数据流,Node 中的流,还有 DOM 事件流,都是流的一种生动体现.至于流的具体概念,用术语说流是对输入输出设备的抽象.以程序的角度说,流是具有方向的数据. 三.事件流 浏览器在为当前页面与用户做交互的过程中,比如点击鼠标左键,会出现这个左键是怎么传到页面上,还有怎么响应…
DOM2级事件 事件的几种类型:对象事件,鼠标事件,键盘事件,表单事件,W3CDOM事件,以及针对浏览器的事件. 对象事件:window对象,也是javascript对象.load  适用于window对象,页面需要的所有图像文件都载入完成才触发.unload  适用于window对象,页面被关闭之前捕获最后一瞬间的信息.error  适用于window对象和图像对象.图像一旦设置src属性,就开始载入图像.abort  在图像完全载入之前,因浏览器停止载入页面导致图像载入失败时触发.通常发生在…
1. 问题 如果大家看过北风网CJ讲师的Javascript视频教程,就可以看到其封装了一个很强的事件添加和删除函数,如下所示 function addEvent(obj, evtype, fn) { //符合W3C的事件模型 if (obj.addEventListener) { obj.addEventListener(evtype,fn,false); return obj; } //IE或Opera浏览器 if (!obj.functions) obj.functions={}; if…
DOM2中的XML IE可以实现了对XML字符串或XML文件的读取,其他浏览器也各自实现了对XML处理功能.DOM2级在document.implementaion中引入了createDocument()方法.IE9.Firefox.Opera.Chrome和Safari都支持这个方法. var xmlDom = document.implementation.createDocument("", "root", null); //1 命名空间 2 跟表亲 3 文档…
前几天有小伙伴问过我一个问题,为什么有DOM 0级事件以及DOM2级事件,但是却没有DOM1级事件呢?那我们今天就来说一说DOM的级别问题. 同时推荐伙伴们可以看看尚学堂有关JavaScript BOM的文章:<细说javascript BOM> 一.DOM0级事件 0级DOM分为两种 行内事件:在标签中写事件 元素.on事件名=函数 1.行内<input type="button" id="btn" value="按钮" on…
定义: 0级DOM 分为2个:一是在标签内写onclick事件  二是在JS写onlicke=function(){}函数 1) <input id="myButton" type="button" value="Press Me" onclick="alert('thanks');" > 2) document.getElementById("myButton").onclick = func…
注册事件有两种方式,分别是DOM0级和DOM2级 DOM0级就是通过事件绑定的形式dom元素只能有(绑定)一个事件处理函数,他的特点是同一个元素绑定相同事件, 后面函数会覆盖前面的 绑定: dom.on+type = 事件处理函数 dom.onclick = function(){} 函数里面是要执行的功能 btn.onclick = function() { alert('hehe'); } btn.onclick = function() { alert('hihi'); } // 绑定事件…