该文章已转移到博客:https://cynthia0329.github.io/ 1.执行的顺序不一样 冒泡型事件模型: button->div->body (IE事件流) 捕获型事件模型: body->div->button (Netscape事件流) DOM事件模型: body->div->button->button->div->body (先捕获后冒泡) 2.事件侦听函数的区别  IE使用: [Object].attachEvent("…
很有必要说说jQuery的on方法,这个方法存在大乾坤大奥秘,主要注意两点: 1.为已存在元素和未来元素(动态添加元素)绑定处理函数. 2.自定义一个非标准的事件并绑定处理函数. 定义和用法 on() 方法在被选元素及子元素上添加一个或多个事件处理程序. 自 jQuery 版本 1.7 起,on() 方法是 bind().live() 和 delegate() 方法的新的替代品.该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库. 注意:使用 on() 方法添加的…
1.事件流定义 事件发生时会在元素节点与根节点之间按照特定的顺序传播,路径所经过的所有节点都会收到该事件,这个传播过程即DOM事件流. 事件传播的顺序对应浏览器的两种事件流模型:捕获型事件流和冒泡型事件流. 冒泡型事件流:事件的传播是从最特定的事件目标到最不特定的事件目标.即从DOM树的叶子到根. 捕获型事件流:事件的传播是从最不特定的事件目标到最特定的事件目标.即从DOM树的根到叶子. 2.举个栗子 <!DOCTYPE html> <html> <head> <…
原文:javascript系列之DOM(三)---事件 事件是javascript跳动的心脏,是DOM所有成分结合的万金油.当我们在WEB 上进行某些交互时,事件也就发生了.点击某些内容,鼠标经过特定元素,按下某些按键,改变窗口.当然还可能是浏览器上某个页面加载完毕.通过 javascript你可以监听特定事件的发生,为事件绑定处理函数. DOM事件流 在DOM中,当某一个特定的HTNL元素产生事件时,该事件会在该元素节点与根节点之间按特定的顺序传播,所经过的节点都会监听到该事件(但不一定执行该…
事件的行为传播,行为本身跟事件绑定没有关系:1.全新认识事件(某一个具体的行为)->行为本身:浏览器天生自带的一些行为操作->click,mouseover(mouseenter),mousemover,mouseout(mouseleave),mousedown,mouseup,mousewhell(鼠标滚轮滚动的事件行为),scroll,resize(window.onresize当前屏幕窗口大小改变的行为),focus,blur(文本框获取焦点和失去焦点),keydown,keyup,k…
该文章已转移到博客:https://cynthia0329.github.io/ 事件发生时会在元素节点与根节点之间按照特定的顺序传播,路径所经过的所有节点都会收到该事件 这个传播过程即DOM事件流. 1.两种事件流模型 事件传播的顺序对应浏览器的两种事件流模型:捕获型事件流和冒泡型事件流. 冒泡型事件流:事件的传播是从最特定的事件目标到最不特定的事件目标.即从DOM树的叶子到根.(由内向外)[推荐] 捕获型事件流:事件的传播是从最不特定的事件目标到最特定的事件目标.即从DOM树的根到叶子.(由…
该文章已转移到博客:https://cynthia0329.github.io/ 什么是事件委托? 它还有一个名字叫事件代理. JavaScript高级程序设计上讲: 事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件. 用取快递来解释这个现象,大家认真领会一下事件委托到底是一个什么原理: 有三个同事预计会在周一收到快递.为签收快递,有两种办法:一是三个人在公司门口等快递:二是委托给前台MM代为签收.现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就…
[DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在数据结构中是如何传播的.   传播路径 事件对象(event objects)被分发给事件目标(event target),在分发开始的时候,在实现中必须先确定事件对象的传播路径. 这个传播路径必须是一个有序的list,其中包含了事件对象必须通过的事件目标.   对于DOM的实现来说,这个传播路径必…
W3C标准是万维网联盟, 其他的可以参考万维网版本的更新内容 一.W3C标准 二.W3C DOM事件 三.冒泡事件 四.捕获事件 一.W3C标准 其实网页是由三分部组成:1.结构(structure),2.表现(prentation),3.行为(behavior) 对应的标准也分为三部分:1.结构化标准语言,主要包括xml和xhtml:2.表现标准语言,主要包括css:3.行为标准语言主要包括对象模型(W3C DOM)和ECMAScript.这些标准大部分由W3C起草和发布,也有一些是其他标准组…
http://www.cnblogs.com/chengxs/p/6388779.html http://www.jb51.net/article/42492.htm W3C标准是什么? 1.表现(css)    2.行为(dom,ecmscript)   3.结构(xml ,xhtml) Dom对象模型是什么? dom对象模型包括事件捕获模型和事件冒泡模型,两个事件流会触发所有的对象,从document开始到document结束 1.事件冒泡行为:从最精确的目标到最不精确的目标进行触发 2.事…
在Javascript的DOM中,关于事件Event对象的知识是一定要掌握的.Event对象模型主要分为两个部分,一个是Event对象本身具有的属性和方法,这个参照API就可以学得:另一个是在DOM节点上绑定的事件,例如click,dblclick,mouseenter等,以及事件在DOM节点中的传播.今天我们主要就javascript中事件流的传播过程以及不同DOM级事件处理程序进行讲解. 事件流 事件流可以理解为事件在页面的DOM节点之间传播的顺序,主要分为三个过程,分别是:事件捕获阶段 -…
addEventListener-开始 前面零散地写了些关于 addEventListener 的内容,觉得比较散,有些地方可能也说得不够清楚明白,所以决定以连载的形式从头到尾再写一篇. addEventListener 用于注册事件处理程序,IE 中为 attachEvent,我们为什么讲 addEventListener 而不讲 attachEvent 呢?一来 attachEvent 比较简单,二来 addEventListener 才是 DOM 中的标准内容. 简介 addEventLi…
事件的移除 removeEventListener() 第二个参数需要指定要移除的事件句柄,不能是匿名函数,因为无法识别 想要移除成功,那么三个参数必须跟addEventListener中的三个完全一致 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style&…
× 目录 [1]历史 [2]事件冒泡 [3]事件捕获[4]事件流 前面的话 javascript操作CSS称为脚本化CSS,而javascript与HTML的交互是通过事件实现的.事件就是文档或浏览器窗口中发生的一些特定的交互瞬间,而事件流(又叫事件传播)描述的是从页面中接收事件的顺序.本文将详细介绍该部分的内容 历史 当浏览器发展到第四代时(IE4及Netscape4),浏览器开发团队遇到了一个很有意思的问题:页面的哪一部分会拥有某个特定的事件?想象画在一张纸上的一组同心圆.如果把手指放在圆心…
一:DOM事件流: 事件流是从页面接收事件的顺序,DOM2级事件规定事件流包括三个阶段: ①事件捕获阶段:用意在于事件达到目标之前捕获它,在事件捕获阶段事件流模型:document→html→body→div ②处于目标阶段2:实际的目标到事件 ③事件冒泡阶段:由最具体的元素接收到事件,然后向上传播到较为不具体的节点.事件流模型:div →body→ html→ document 二:事件委托 事件委托顾名思义:将事件委托给另外的元素.其实就是利用DOM的事件冒泡原理,将事件绑定到目标元素的父节…
前端面试中只要问到事件,就肯定会有DOM事件:如果回答出来了,就会一直向下延申,其实这些东西都很简单,但我第一次被问到的时候,也是懵的: DOM事件级别: DOM0 element.onclick = function() { } DOM1 一般只有设计规范,没有设计跟事件相关的东西:所以直接跳过 DOM2 element.addEventListener(‘click’, function() { }, false) DOM3 element.addEventLIstener(‘keyup’,…
一.DOM 事件模型 DOM 事件模型包括捕获和冒泡,捕获是从上往下到达目标元素,冒泡是从当前元素,也就是目标元素往上到 window 二.流 流的概念,在现今的 JavaScript 中随处可见.比如说 React 中的单向数据流,Node 中的流,还有 DOM 事件流,都是流的一种生动体现.至于流的具体概念,用术语说流是对输入输出设备的抽象.以程序的角度说,流是具有方向的数据. 三.事件流 浏览器在为当前页面与用户做交互的过程中,比如点击鼠标左键,会出现这个左键是怎么传到页面上,还有怎么响应…
1.事件流的区别 <body> <div> <button>点击这里</button> </div> </body> IE采用冒泡型事件 Netscape使用捕获型事件 DOM使用先捕获后冒泡型事件 冒泡型事件模型: button->div->body (IE事件流) 捕获型事件模型: body->div->button (Netscape事件流) DOM事件模型: body->div->butto…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展的原因:适应环境和用途的变化:实现编程艺术的完善和提高. 1.1.Java的家世 Java大量特性从C和C++继承过来. C语言的诞生 C语言前,BASIC.COBOL.FORTRAN这几种编程语言没有遵循结构化原则设计,依赖GOTO作为程序控制手段:Pascal虽是结构化语言,但不是针对高效率设计…
js//获取文件标题 document.body //body document.title //网页标题 document.doctype//文档对象 document.url//路径 //服务器相关 //align document.domain//域名 //---操作文本节点--- //获取父节点 var arrayObj = document.getElementsByTagName('div'); for(var i = 0 in arrayObj){ alert(arrayObj[i…
DOM2.0模型将事件处理流程分为三个阶段: 一.事件捕获阶段, 二.事件目标阶段, 三.事件起泡阶段. 具体如图(图片来源于网络,侵删) 事件捕获:当某个元素触发某个事件(如onclick),顶层对象document就会发出一个事件流,随着DOM树的节点向目标元素节点流去,直到到达事件真正发生的目标元素.在这个过程中,事件相应的监听函数是不会被触发的. 事件目标:当到达目标元素之后,执行目标元素该事件相应的处理函数.如果没有绑定监听函数,那就不执行. 事件起泡:从目标元素开始,往顶层元素传播.…
1.document.getElementById(id); document.getElementByTagName(tagName);       document.getElementsByName(name);在IE8以下不兼容获取不到div.span.非name标准元素属性,建议不用      document.getElementsByClassName(className) 在IE8以下不兼容; 2.element.parentNode --element.nextSibling-…
一.说明.引言 我JS还是比较薄弱的,本文的内容属于边学边想边折腾的碎碎念,可能没什么条理,可能有表述不准确的地方,可能内容比较拗口生僻.如果您时间紧迫,或者JS造诣已深,至此您就可以点击右侧广告(木有?则RSS或盗版)然后撤了. 事件是个大课题,真要从断奶开始讲起的话,可以写个12期的连载.关于JS事件的文章(类似DOM/BOM事件模型,IE与其他浏览器事件差异,DOM1/DOM2事件定义等)落叶般随处可见.熟豆子反复炒一点意思都没有,因此,这里谈谈自己感兴趣的自定义事件以及周边. 所谓自定义…
javaScript 那些方式中检测数据类型 typeof typeof isNaN // 结果是function 检测数组的几种方式 instanceof arr instanceof Array() es5中 toString.call() toString.call() 传统事件绑定和符合W3c标准绑定有什么区别 两者的区别 传统事件绑定 <div onclick="alert('ok')">传统事件绑定</div> <div id='dv'>…
一.jQuery的位置信息 jQuery的位置信息跟JS的client系列.offset系列.scroll系列封装好的一些简便api. 一.宽度和高度 获取宽度 .width() 描述:为匹配的元素集合中获取第一个元素的当前计算宽度值.这个方法不接受任何参数..css(width) 和 .width()之间的区别是后者返回一个没有单位的数值(例如,400),前者是返回带有完整单位的字符串(例如,400px).当一个元素的宽度需要数学计算的时候推荐使用.width() 方法 . 举例: <!DOC…
昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2.内接js <script>/*js代码*/</script> 3.外接样式 <script src = 'main.js'></script> //在前端项目中 当你看到index.main开头,这个时候应该考虑是项目的入口文件 //标签中img标签 link标…
先参考一下百度百科对冒泡事件流的解释: ----------不喜欢读文字的同学,可以直接看下面demo,传递顺序简单明了! http://baike.baidu.com/link?url=kaeJHTii_1uVgxD_d4LGnqR2mSlNGtEMw8Y9uRZKq_LJjBmmG3lHi9imKniETjpPFPUn4bFCy9dRJ_jfwSzVkK DOM事件标准定义了两种事件流,这两种事件流有着显著的不同并且可能对你的应用有着相当大的影响.这两种事件流分别是捕获和冒泡.和许多Web技…
一.说明.引言 我JS还是比较薄弱的,本文的内容属于边学边想边折腾的碎碎念,可能没什么条理,可能有表述不准确的地方,可能内容比较拗口生僻.如果您时间紧迫,或者JS造诣已深,至此您就可以点击右侧广告(木有?则RSS或盗版)然后撤了. 事件是个大课题,真要从断奶开始讲起的话,可以写个12期的连载.关于JS事件的文章(类似DOM/BOM事件模型,IE与其他浏览器事件差异,DOM1/DOM2事件定义等)落叶般随处可见.熟豆子反复炒一点意思都没有,因此,这里谈谈自己感兴趣的自定义事件以及周边. 所谓自定义…
体验更优排版请移步原文:http://blog.kwin.wang/programming/js-event-delegation.html 事件代理,又称事件委托(Delegation),就是将处理事件委派到父元素或者顶级元素上,利用事件的冒泡机制,管理某一类型元素上的所有事件. 要理解这个概念,必须先对事件模型有个初步的了解.W3C定义的DOM2.0标准事件模型分为三个阶段: 捕获阶段 目标阶段 冒泡阶段 捕获阶段:当某个元素触发事件时,顶层对象document会发出一个事件流,随着DOM树…
昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 1.三种引入方式    1.行内js <div onclick = 'add(3,4)'></div>        //声明一个函数     function add(a,b){       }    2.内接js    <script…