As we all know,事件机制其实很简单,无非冒泡和捕获这两点,笔者不再赘述,网上相关文章一大堆,下面让我们直接看面试题 题目一到七,统一设置css .test2 { height: 50px; } 题目一 <div class="test1"> <div class="test2"></div> </div> <script> document.querySelector('.test1').ad…
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"> <style type=&…
DOM事件模型 在0级DOM事件模型中,它只是简单的执行你为它绑定的事件,比如你为某个元素添加了一个onclick事件,当事件触发时,它只是去调用我们绑定的那个方法,不再做其他的操作. 在2级DOM事件模型中,就比较复杂一些,它将不再是单纯的调用一下自身绑定的事件就完事了,它还拥有机会去处理它的祖先节点,在DOM2级事件模型中,它有一个事件传播过程,分为3个阶段,从"事件捕获"Document开始来到"目标节点"再从"目标节点"冒泡回Docume…
JavaScript  Dom 事件 对于事件需要注意的要点: // this标签当前正在操作的标签. this // event封装了当前事件的内容. even 常用事件 // 鼠标单击.触发事件 onclick // 鼠标双击.出发事件 ondbclick // 鼠标移动到标签处.触发事件 onmouseover onmouseover="函数1(0);" // 鼠标离开到标签处.触发事件 onmouseout onmouseout="函数2(0);" 使用:…
JavaScript DOM 事件模型 JavaScript 是基于面向对象和事件驱动的一门语言,事件模型是 DOM 中至关重要的内容,理解事件驱动机制.事件反馈.事件冒泡.事件捕获以及事件委托能帮助我们更好的处理事件,写出更优的代码 事件驱动机制 当事件发生时,我们收到事件的反馈,在 JavaScript 中,事件反馈是我们自行定义的事件处理函数 事件,如点击事件.鼠标移入事件等,是每一个元素与生俱来的能力 通常说的绑定事件,实际上是绑定事件的反馈,即事件处理函数 例如点击一个按钮,按钮元素对…
前言 本文主要介绍DOM事件级别.DOM事件模型.事件流.事件代理和Event对象常见的应用,希望对你们有些帮助和启发! 本文首发地址为GitHub博客,写文章不易,请多多支持与关注! 一.DOM事件级别 DOM级别一共可以分为四个级别:DOM0级.DOM1级.DOM2级和DOM3级.而DOM事件分为3个级别:DOM 0级事件处理,DOM 2级事件处理和DOM 3级事件处理.由于DOM 1级中没有事件的相关内容,所以没有DOM 1级事件. 1.DOM 0级事件 el.onclick=functi…
JavaScript的事件机制 摘要 事件是将JavaScript脚本与网页联系在一起的主要方式,是JavaScript中最重要的主题之一,深入理解事件的工作机制以及它们对性能的影响至关重要.本文将详细介绍JavaScript的事件机制,并对比分析了浏览器之间的不同,具体内容包括事件流.事件处理程序绑定方式.事件对象 如何理解事件? JavaScript与HTML之间的交互就是通过事件实现的. 事件:用户或浏览器自身执行的某种动作,换言之,文档或浏览器发生的一些特定的交互瞬间. 事件处理程序:又…
本篇开始将回顾下Javascript的事件机制.同时会从一个最小的函数开始写到最后一个具有完整功能的,强大的事件模块.为叙述方便将响应函数/回调函数/事件Listener/事件handler都称为事件handler. 先看看页面中添加事件的几种方式: 直接将JS代码写在HTML上 测试:Nowamagic view source   print? 1 <div onclick="alert('欢迎访问Nowamagic.net');">Nowamagic</div&g…
  一.memcached与redis的区别? 1.存储方式不同.memcached把数据全部存在内存之中,断电之后会挂掉,而redis虽然也用到了内存,但是会有部分数据存在硬盘中,保证数据持久性. 2.数据支持类型不同.memcached对数据支持比较简单,而redis支持数据类型较丰富,如string.list.set.sorted set.hash. 3.底层实现不同.一般调用系统函数,会消耗比较多的时间去请求,redis自己构建了vm,速度会更快. 二.redis数据的淘汰策略? 1.v…
早期由于浏览器厂商对于浏览器市场的争夺,各家浏览器厂商对同一功能的JavaScript的实现都不进相同,本节内容介绍JavaScript的DOM事件模型及事件处理程序的分类. 1.DOM事件模型.DOM事件模型分为两种:事件冒泡和事件捕获.事件冒泡最初是微软提出的DOM事件流的模型,顾名思义,就是值浏览器的事件流如同冒泡一样,从最低处到最高处.最低处对应的是DOM中最具体的元素,最高处则是最外层元素,最外层元素一般就是document元素. a.事件冒泡模型: 如下图,当点击最底层的span元素…
事件 注册事件 给元素添加事件,为注册事件或者绑定事件 注册事件两种方式 传统方式 监听事件方式 事件监听 addEventListener() 事件监听 (IE9以上) eventTarget.addEventListener(type, listener, [useCapture]) 参数type:            事件类型字符串,不要on 如click,mouseover 参数listener:       事件处理函数,触发的时候要做的事情 参数useCapture: 可选,是一个…
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line span::after { content: " " } p { font-size: 15px; text-indent: 2em } #colorbox.crayon-colorbox,#cboxOverlay.crayon-colorbox,.crayon-colorbox #cboxWr…
1.事件流 1.1.标准事件流 所谓的标准事件流指的的:EMCAScript标准规定事件流包含三个阶段,分别为事件捕获阶段,处于目标阶段,事件冒泡阶段. 下面是一段html代码,根据代码来说明标准事件流. <!DOCTYPE HTML> <html> <body> <div> <button>click</button> </div> </body> </html> 在上面的代码中,如果点击按钮bu…
× 目录 [1]HTML [2]DOM0级 [3]DOM2级[4]IE[5]总结 前面的话 事件处理程序又叫事件侦听器,实际上就是事件的绑定函数.事件发生时会执行函数中相应代码.事件处理程序有HTML事件处理程序.DOM0级事件处理程序.DOM2级事件处理程序和IE事件处理程序四类,下面将详细介绍该部分内容 HTML事件处理程序 某个元素支持的每种事件,都可以使用一个与相应事件处理程序同名的HTML特性来指定.这个特性的值应该是能够执行的JavaScript代码 在事件处理程序函数内部,this…
本文将从以下几个方面介绍DOM事件: 基本概念:DOM事件的级别 DOM事件模型,事件流 描述DOM事件捕获的具体流程 Event对象的常见应用 自定义事件 DOM事件的级别 //DOM0 element.onclick = function(){} //DOM2 element.addEventListener('click',function(){},false) //DOM3 element.addEventListener('onmouseover',function(){},false…
内容: 1.事件复习 2.事件冒泡与事件捕获 3.事件委托 1.事件复习 (1)事件 事件是用来处理响应的一个机制,这个响应可以来自于用户(点击, 鼠标移动, 滚动), 也可以来自于浏览器 下面的链接描述了所有事件:https://developer.mozilla.org/en-US/docs/Web/Events (2)事件绑定 事件绑定有3种方法,前两钟方法在这里不介绍,主要看第三种: addEventListener方法(使用事件监听绑定事件) addEventListener: 1 e…
一.事件机制 事件是在编程时系统内发生的动作或者发生的事情,系统会在事件出现的时候触发某种信号并且会提供一个自动加载某种动作的机制(来自MDN).每个事件都有事件处理器(有时也叫事件监听器),也就是触发事件时运行的代码块.严格来说事件监听器监听事件是否发生,然后事件处理器对事件做出反应. 二.DOM事件流 事件传播是一种机制,用于定义事件如何传播或通过DOM树传播,事件传播有两种方式:事件捕获(Capture)和事件冒泡(Bubble).事件传播形式上有三个阶段: 捕获阶段:从窗口进入事件目标阶…
DOM事件流 为什么是有事件流? 假如在一个button上注册了一个click事件,又在其它父元素div上注册了一个click事件,那么当我们点击button,是先触发父元素上的事件,还是button上的事件呢,这就需要一种约定去规范事件的执行顺序,就是事件执行的流程. 浏览器在发展的过程中出现实了两种不同的规范 IE9以下的IE浏览器使用的是事件冒泡,先从具体的接收元素,然后逐步向上传播到不具体的元素. Netscapte采用的是事件捕获,先由不具体的元素接收事件,最具体的节点最后才接收到事件…
什么是事件 事件就是文档或浏览器窗口中发生的一些特定的交互瞬间.比如你在网页上见到的鼠标点击一个按钮,按钮的颜色发生了变化,就是因为这个标签绑定了点击事件 鼠标事件 onload:页面加载时触发 onclick:鼠标点击时触发 onmouseover:鼠标滑过时触发 onmouseout:鼠标离开时触发 onfoucs:获得焦点时触发 onblur:失去焦点时触发 onchange:域的内容改变时发生 onsubmit:表单中的确认按钮被点击时发生 onmousedown:鼠标按钮在元素上按下时…
Event 对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件通常与函数结合使用,函数不会在事件发生前被执行! 本文用于记录个人学习过程中的两个小练习,其中包括事件对象的一些用法和问题的解决以及兼容性问题 获取鼠标指针坐标 div跟随鼠标移动 练习 1 获取鼠标指针坐标 两个div,当鼠标在上面的div#areaDiv移动时,在下面的div#showMsg中显示鼠标指针坐标 <!DOCTYPE html> <html>…
1 <html> 2 <title>事件</title> 3 <meta charset="utf-8"/> 4 <body> 5 <div id="box"> 6 <input type="button" value="按钮" id="btn" onclick="showMes()"/> 7 <i…
× 目录 [1]引入 [2]模拟机制 [3]自定义事件 前面的话 事件是网页中某个特别的瞬间,经常由用户操作或通过其他浏览器功能来触发.但实际上,也可以使用javascript在任意时刻来触发特定的事件,而此时的事件就如同浏览器创建的事件一样.本文将详细介绍事件模拟 引入 以下面的实际需求为例,来详细说明事件模拟的使用.按钮一的点击效果是弹出1.而我们通过新增按钮二来模拟按钮一的效果 <button id="btn1">按钮一</button> <scri…
× 目录 [1]历史 [2]事件冒泡 [3]事件捕获[4]事件流 前面的话 javascript操作CSS称为脚本化CSS,而javascript与HTML的交互是通过事件实现的.事件就是文档或浏览器窗口中发生的一些特定的交互瞬间,而事件流(又叫事件传播)描述的是从页面中接收事件的顺序.本文将详细介绍该部分的内容 历史 当浏览器发展到第四代时(IE4及Netscape4),浏览器开发团队遇到了一个很有意思的问题:页面的哪一部分会拥有某个特定的事件?想象画在一张纸上的一组同心圆.如果把手指放在圆心…
× 目录 [1]获取 [2]事件类型 [3]事件目标[4]事件代理[5]事件冒泡[6]事件流[7]默认行为 前面的话 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息.所有浏览器都支持event对象,但支持方式不同.本文将详细介绍事件对象 获取事件对象 [1]一般地,event对象是事件程序的第一个参数 [注意]IE8-浏览器不支持 //IE8-浏览器输出undefined,其他浏览器则输出事件对象[object MouseEvent] <div i…
JS事件流机制 一个完整的JS事件流是从window开始,最后回到window的一个过程,事件流被分为三个阶段: (1~5)捕获过程.(5~6)目标过程.(6~10)冒泡过程. 通过addEventListener可以监听冒泡阶段的事件,如果第三个参数指定为true,则监听的是捕获阶段的事件.低版本IE(6,7,8)不支持捕获阶段的事件监听,只能用attachEven来监听冒泡阶段事件.这不意味着低版本IE没有事件捕获,其实有,只不过没办法去监听而已 attachEvent和addEventLi…
JavaScript的事件处理分为两个阶段: 捕获阶段:从根节点向event.target层层传递 冒泡阶段:从event.target向根节点层层传递 addEventListener(eventName,eventHandler,useCapture)这个函数的第三个参数表示是否使用捕获阶段,默认值为false. useCapture默认值为false表示优先把事件的处理权交给子元素去处理.如果祖先结点在捕获阶段就把事件给处理掉了,子孙结点可能会感到一脸懵逼. useCapture=fals…
http://wenku.baidu.com/view/9c8761e1524de518964b7d65.html http://wenku.baidu.com/view/1c3d7228bd64783e09122ba5.html http://wenku.baidu.com/view/363c2824a5e9856a56126003.html…
前言 又到了扯淡时间了,我最近在思考javascript事件机制底层的实现,但是暂时没有勇气去看chrome源码,所以今天我来猜测一把 我们今天来猜一猜,探讨探讨,javascript底层事件机制是如何实现的 博客里面关于事件绑定与执行顺序一块理解有误,请看最新博客 基础知识 事件捕获/冒泡 我们点击一个span,我可能就想点击一个span,事实上他是先点击document,然后点击事件传递到span的,而且并不会在span停下,span有子元素就会继续往下,最后会依次回传至document,我…
前言 很久没有扯淡了,我们今天来扯淡吧. 我今天思考了一个问题,我们页面的dom树到底是如何渲染的,而CSS盒模型与javascript是否有联系,于是便想到一个问题: CSS的盒模型具有厚度么??? 该文只是一种帮助理解的说法,与官方定义不一定统一,权当扯淡 盒模型 稍微入门点的前端都知道CSS盒模型,于是我们不厌其烦的偷图来用: 这个就是我们传说中的盒模型,我们这里先把盒模型放一放,来看我们的DOM事件流 DOM事件流 在上一篇博客中,我们详细说了下javascript的事件机制:[移动端兼…
前言 最近好好的研究了一番移动设备的点击响应速度,期间不断的被自己坑,最后搞得焦头烂额,就是现在可能还有一些问题,但是过程中感觉自己成长不少, 最后居然感觉对javascript事件机制有了更好的认识,回头来看,还是不错的,所以今天将近期的学习记录下来供后期查询 今天我们再来重新回顾下javascript的事件机制 注意:下面说的android浏览器,意思是android下多数浏览器,不包括chrome 事件基础 javascript与html之间的交互式通过事件实现的,事件是文档(窗口)中发生…