js事件相关知识

事件

事件就是用户或浏览器自身执行的某种动作,如click、load等,都是事件的名字。而响应某个事件的函数就是事件处理程序或事件侦听器,通常以“on+事件名字”命名,如onclick、onload。

事件最早是在IE3和Netscape Navigator2中出现的,当时是作为分担服务器运算负载的一种手段。在IE4和Navigator4发布时提供了相似但不相同的API。

事件流

从页面中接收事件的顺序。IE和Netscape开发团队提出了差不多是完全相反的事件流的概念。IE提出的是事件冒泡流,Netscape提出的是事件捕获流。

事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点或者目标节点)接收,然后逐级向上传播到较为不具体的节点(文档)。

事件捕获(event capturing),则与事件冒泡流思想相反,即事件开始由不太具体的节点接收,然后逐一向下传播到最具体的元素。它的用意在于事件到达预订目标之前捕获它。

区别:

概念:差不多相反的思想;

范围:所有的现代浏览器都支持事件冒泡,不同浏览器在具体实现上有所差别;事件捕获是Netscape Communicator唯一支持的事件流模型,但IE9、Safari、Chrome、Opera和Firefox目前也都支持这种事件流模型,但老版本的浏览器不支持。所以建议放心地使用事件冒泡,在有特殊需要时再使用事件捕获。

DOM事件流

“DOM2级事件”规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。首先发生的是时间捕获,为截获事件提供了机会,然后是实际目标接收到时间,最后是冒泡阶段,对事件作出响应。

“DOM2级事件”规范明确要求捕获阶段不会涉及事件目标,但IE9、Safari、Chrome、Firefox和Opera9.5以及更高版本都会在捕获阶段触发事件对象上的事件。结果就是有两个机会在目标对象上面操作事件。

时间: 2024-11-16 05:59:10

js事件相关知识的相关文章

js事件相关知识点总结

HTML页面是怎样实现交互的? 2017-05-22 js事件之事件流: 事件流原理图:事件流是从window开始,最后回到window的一个过程,分为三个阶段(1~5)捕获过程.(5~6)目标过程.(6~10)冒泡过程. 冒泡型事件:事件按照从最具体的事件目标到最不具体的事件目标(document对象)向上传播的顺序触发. IE 5.5: div -> body -> document IE 6.0: div -> body -> html -> document Mozi

js事件(Event)知识整理

事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下 鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemove 如果按下鼠标上的设备(左键,右键,滚轮--),则触发mousedown 当设备弹起的时候触发mouseup 目标元素的滚动条发生移动时(滚动滚轮/拖动滚动条..)触发scroll 滚动滚轮触发mousewheel,这个要区别于scroll 鼠标移出元素的那一刻,触发mouseout 事件注册 平常

js事件(Event)知识整理[转]

1 事件注册 2 3 平常我们绑定事件的时候用dom.onxxxx=function(){}的形式 4 这种方式是给元素的onxxxx属性赋值,只能绑定有一个处理句柄. 5 但很多时候我们需要绑定多个处理句柄到一个事件上,而且还可能要动态的增删某个处理句柄 6 下面的事件注册方式就能解决这个需求. 7 8 先介绍一下四个方法 9 10 复制代码 代码如下: 11 12 13 //IE以外 14 target.addEventListener(type,listener,useCapture) 1

js键盘相关知识总结

一.相应事件 keydown:按下键盘上的任意键都可触发,按着不放则重复触发 keypress:按下键盘上的字符键时触发,按着不放则重复触发 keyup:释放按键时触发 事件顺序:keydown>keypress>keypup 在文本框中捕获按键事件需要注意的地方: 1.keydown.keypress是在文本框内容变化前发生,keyup则是在文本框变化后发生. 2.如果输入的是中文,keypress不会触发 二.如何获取按键值 在js获取键盘按下的键值有:event.keyCode.even

js作用域相关知识总结

以前总是搞不清楚js里面的作用域.块级作用域.预解析,做题总做错,今天彻底搞明白了,来记录梳理一下~ 块级作用域 在其他语言中,任何一对花括号中的语句都属于一个块儿,在这之中定义的所有变量在代码块外都是不可见的.Js中没有块级作用域 一个感觉在面试中会经常遇到的问题 for(var i =0;i<10;i++){ var num = 100; } console.log(i); //i是多少 第一反应是i是9,但是错了,i是10.因为按照循环条件,i肯定是在0-10之间,当i=9的时候,都还在执

js 事件相关

1.绑定 function(element, type, handler){        if (element.addEventListener) {            element.addEventListener(type, handler, false);        }        else             if (element.attachEvent) {                element.attachEvent("on" + type,

oracle等待事件的相关知识

一. 等待事件的相关知识: 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件. 1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件. 2). 非空闲等待事件专门针对ORACLE的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件是在调整数据库的时候需要关注与研究的. 在Oracle 10g中的等待事件有872个,11g中等待事件1116个. 我们可以通过v$event_name 视图来查看等待

C#-WebForm-JS知识:基础部分、BOM部分、DOM部分、JS事件

---恢复内容开始--- 一.基础部分: 1.JavaScript 是什么? 是一门脚本语言,是属于弱类型(语言语法很随意),C#是强类型(语言语法非常严格)(李献策lxc) 优点:JS 执行速度快 2.JS 与java有什么关系? 没有任何关系 3.JS 能做什么事情? 能控制浏览器 BOM 控制元素 DOM JS不能做什么? 不能操作文件(读取.创建.删除) 不能直接访问数据库 扩展:node.js - 一个开发平台,通过这个平台可以开发常规的web服务端,是一块非常轻量级的运行环境 JQu

JS中的函数、Bom、DOM及JS事件

本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的声明及调用] 1.函数声明的格式: function 函数名(参数1,参数2,参数3,--){//函数体 return 结果; } >>>函数的调用格式: 直接调用:函数调用的格式:函数名(参数一的值,参数二的值,--): 事件调用:事件名=函数名( ); 2.函数声明的几点强调: ①函数名