[解惑]JavaScript事件机制初学 JS 的童鞋经常会有诸多疑问,我在很多 QQ 群也混了好几年了,耳濡目染也也收获了不少,以后会总结下问题的结论,顺便说说相关知识的扩展~如果贸然回答还会冒泡,这不太好的,稍微严谨点考虑 0级 DOM 事...
分类:
编程语言 时间:
2015-07-12 01:44:06
阅读次数:
134
事件冒泡并不是所有的事件都支持事件冒泡,比如submit ,focus,blur不支持事件冒泡,mouseover,mouseout虽然支持冒泡,但是一般不用,因为需要经常计算元素的位置,消耗比较大。事件冒泡带来的优点是可以使用事件委托,提高了页面的性能,缺点是父级元素中如果也绑定了一样的事件,那么...
分类:
编程语言 时间:
2015-07-12 00:16:27
阅读次数:
135
在js中触发一个事件的时候,会产生一个事件对象,也就是函数处理程序中的event,通过event我们可以访问到所有与事件有关的信息,如事件的类型、事件发生对象等等。需要注意的是关于event对象IE 和 非IE在支持方式不同。DOM中的事件对象不管是标签内绑定事件,DOM0级还是DOM2级,事件处理程序都会传入一个event。<button id="myBtn" onclick="alert(eve...
分类:
编程语言 时间:
2015-07-11 15:09:01
阅读次数:
171
事件流事件流描述的是从页面中接收事件的顺序。js中有两种事件流,冒泡流和捕获流。两种流的名称都很形象,在由节点构成的一颗html树上面,冒泡流指事件开始时候由最具体的元素最先接收,然后逐级传播到最不具体的节点,比如在如下文档中:...
分类:
编程语言 时间:
2015-07-10 23:46:58
阅读次数:
310
事件流描述的是从页面中接收事件的顺序。IE的时间流叫做事件冒泡(event bubbling)--事件开始时由最具体的元素(文档中嵌套层次最深的节点)接收,然后逐级向上传播到较为不具体的节点(文档)。事件捕获(event capturing)的思想是不太具体的节点应该更早接收到事件,而最具体的节点应...
分类:
编程语言 时间:
2015-07-09 00:22:36
阅读次数:
139
一、事件驱动1.事件javascript侦测到的用户的操作或是页面的一些行为(怎么发生的)2.事件源引发事件的元素。(发生在谁的身上)2.事件处理程序对事件处理的程序或是函数(发生了什么事)二、事件的分类1.鼠标事件onclickondblclickonmousedowmonmouseuponmousemoveonmouseoveronmous..
分类:
编程语言 时间:
2015-07-08 22:50:47
阅读次数:
206
DOM0级事件模型element.on[type] = function(){}兼容性:全部支持lay1lay2lay3e.target:直接触发事件的元素[IE8及以下不支持taget属性,使用e.srcElement代替]e.srcElement:直接触发事件的元素[FF不支持srcElemen...
分类:
编程语言 时间:
2015-07-06 15:50:47
阅读次数:
140
(本文转载自别处)JavaScript事件冒泡简介及应用一、什么是事件冒泡在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它...
分类:
编程语言 时间:
2015-07-04 13:58:59
阅读次数:
138
事件绑定分为两种:一种是传统事件绑定(内联模型、脚本模型),一种是现代事件绑定(DOM2级模型)。现代事件绑定在传统绑定的基础上为我们提供了更强大更方便的功能。
传统事件绑定的问题
因为内联模型很少用,这里不做讨论。先来看一下脚本模型,将一个函数赋值给一个事件处理函数。
var box=document.getElementById('box');
bo...
分类:
编程语言 时间:
2015-07-04 08:30:22
阅读次数:
200
JavaScript处理事件的基本机制:对DOM元素绑定事件处理函数;监听用户的操作;当用户在相应的DOM元素上进行与绑定事件对应的操作时,事件处理函数做出响应;将处理结果更新到 HTML 文档。有三种常用的绑定事件的方法:在DOM元素中直接绑定;原生函数:自定义函数:在JavaScript代码中绑...
分类:
编程语言 时间:
2015-07-03 18:40:38
阅读次数:
174