浅谈JavaScript的事件响应】的更多相关文章

原文出处: Christian Heilmann   译文出处:Chajn Science 每当猴子们问我JavaScript和DOM里啥东西最牛逼时,我都会一巴掌打回去:卧槽还用问么当然是事件响应了啊!没它你能有时间和我讨论这个?你早去工地搬砖去了好么!浏览器没有事件响应就没有行为交互,那简直就是一夜回到解放前的感觉啊.此外,以事件驱动使得功能解耦也是个相当高端大气的技巧了,嘛,以此为主的Node.js 现在可是风生水起的说. 那现在我们就再抠抠事件监听的相关基础,让大家在心情愉悦的状态下获得…
事件就是用户或者浏览器自身执行的某种动作.诸如click.load和mouseover,都是事件的名字.而响应某个事件的函数就叫事件处理程序.事件处理程序的名字以"on"开头,比如click事件的事件处理程序是onclick.为事件指定事件处理程序的方式有多种方式. HTML事件处理程序 元素支持的事件,都可以使用与相应事件处理程序同名的HTML特性来指定.这个特性的值能支持一定的JavaScript代码.例如,在单击按钮的时候执行一些JavaScript代码. <div id=…
事件经常由操作或者通过浏览器功能触发,通过JavaScript也可以触发元素的事件.通过JavaScript触发事件,也称为事件的模拟. DOM中事件模拟 可以document的createEvent方法创建event对象.这个方法接收一个参数,即表示要创建的事件类型的字符串.在DOM2级中,所有这些字符串都使用英文复数形式,在DOM3级中都变成了单数.这几个字符串如下:UIEvents,一般化的ui事件,鼠标事件和键盘事件都继承于该事件,在DOM3级中是UIEvent:MouseEvents,…
一  简述JavaScript及其在浏览器中的地位 (一)  浏览器主要构成 虽然不同浏览器之间存在差异(如Google Chrome,Firefox,Safari和IE等),但单从浏览器构成来说,大同小异,大致可归结为如下几类: 1.User Interface(用户界面):所谓用户界面,就是通过浏览器渲染出来,让用户可见的界面,如地址栏,书签菜单栏等: 2.Browser Engine(浏览器引擎):主要操作呈现的引擎界面: 3.Rendering Engine(渲染引擎):负责渲染响应请求…
事件冒泡:一个事件会顺着他的层级一直往上传,一直传到document上为止,即从盒模型上看是从内到外的过程. 例: <!DOCTYPE html><html lang="en" onclick="alert('html')"><head> <meta charset="UTF-8"> <title>事件流</title><style type="text/cs…
Web浏览器能够发生的事件有很多种类型,不同的事件类型有不同的事件信息.DOM3级的事件类型主要包括:UI事件,用户与页面上的元素交互时触发:焦点事件,元素获得或失去焦点触发:鼠标事件,用户通过鼠标在页面上执行操作时触发:滚轮事件,使用鼠标滚轮时触发:文本事件,当在文档中输入文本时触发:键盘事件,用户通过键盘在页面上操作触发:合成事件,当为IME输入字符时触发:变动事件,底层DOM结构发生变化时触发. UI事件 UI事件的触发并不一定是由用户操作触发的,包括:load,页面完全加载后在windo…
在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有关的信息.包括导致事件的元素.事件的类型和事件的相关信息.例如鼠标操作的事件中,会包含鼠标的位置信息.而键盘触发的事件会包含与按下的键有关信息.所有浏览器都支持event对象,但支持方式不同. DOM中的事件对象 兼容dom的浏览会将一个event对象传递到事件处理程序中. var aa=document.getElementById("aa"); aa.onclick=function(event)…
 事件流描述的是从页面中接收事件的顺序.IE的事件流失事件冒泡,而Netspace的事件流失事件捕获. 事件冒泡 IE的事件流叫事件冒泡,即事件开始时,由具体的元素(文档中嵌套层次最深的节点)接收,然后向上传播到不具体的节点. <html onclick="console.log('html')"> <head> <meta charset="UTF-8"> <title></title> </hea…
事件处理程序为Web程序提供了系统交互,但是如果页面中的事件处理程序太多,则会影响页面的性能.每个函数都是对象,都会占用内存,内存中对象越多,性能越差.需要事先为DOM对象指定事件处理程序,导致访问DOM的次数增多,会延迟整个页面的交互就绪时间. 事件委托 对事件处理程序过多的解决方案是使用事件委托.事件委托利用了事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件.比如click事件会一直冒泡到document,也就是说我们只需为整个页面指定一个onclick事件处理程序,而不必为每…
浅谈javascript函数节流 什么是函数节流? 函数节流简单的来说就是不想让该函数在很短的时间内连续被调用,比如我们最常见的是窗口缩放的时候,经常会执行一些其他的操作函数,比如发一个ajax请求等等事情,那么这时候窗口缩放的时候,有可能连续发多个请求,这并不是我们想要的,或者是说我们常见的鼠标移入移出tab切换效果,有时候连续且移动的很快的时候,会有闪烁的效果,这时候我们就可以使用函数节流来操作.大家都知道,DOM的操作会很消耗或影响性能的,如果是说在窗口缩放的时候,为元素绑定大量的dom操…