js事件流
event:事件对象,当一个事件发生的时候,和当前这个对象发生的这个事件有关的一些详细的信息都会被临时保存在一个指定地方-event对象,供我们在需要调用。
event对象必须是在一个事件调用的函数里
ie/chrome :event是一个全局对象
ff:标准 事件对象是通过事件函数的第一个参数传入 如果一个函数是被事件调用的那么这个函数定义的第一个参数就是事件对象
event兼容:
function(ev){
var e=ev || event;
}
onmousemove:当鼠标在一个元素上面移动时触发
//触发频率不是像素,而是时间间隔,在一个指定时间内,如果鼠标和上一次的位置发生改变那么就会触发一次
//
事件流
事件冒泡:当一个元素接收到事件时,会把他接收到的所有传播给他的父级
传播的是事件;一直到顶层window;
event.cancelBubble=true;//阻止当前事件的冒泡
事件的第一种绑定形式
document.onclick=fn1//
document.onclick=fn2//会覆盖前面绑定的fn1
事件的第二种绑定形式
//给一个对象的同一个事件绑定多个不同的函数
ie:obj.attachEvent("onclick",fn1)
ie:obj.attachEvent(事件名称,事件函数)
1:没有捕获
2:事件名称有on
3:事件函数执行的顺序:标准ie正序 非标准ie是倒序
4:this指向window
标准:obj.addEventListener(事件名称,事件函数,是否捕获)
这里的事件名称是没有on的 默认是false不捕获(冒泡)true(捕获)
1:有捕获
2:事件名称没有on
3:事件执行的顺序是正序
4:this是触发该事件的对象
fn1()执行函数
fn1.call() 调用函数
函数下的一个方法,call方法第一个参数可以改变函数执行过程中的内部指向,call方法第二个参数开始就是原来函数的参数列表
事件捕获
ie是不能捕获的
addEventlistener(obj,"click",true) //false改成true那么就是事件捕获了,事件自上往下传播,从外往里传播
事件的取消:
取消普通事件与取消事件绑定函数
1:document.onclick=fn1;
document.onclick=null;//取消
2:ie:obj.detachEvent(事件,事件函数);
标准:obj.removeEventListener(事件,事件函数,false)
js事件流的更多相关文章
- js事件流机制冒泡和捕获
JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间. 事件流 从页面中接收事件的顺序称为事件流. IE --> 事件冒泡流 Netsc ...
- JS事件流、事件监听、事件对象、事件委托
JS事件流: 01.DOM级别和DOM事件 02.JS事件流:页面中接收事件的顺序 事件冒泡阶段-->处于目标阶段-->事件捕获阶段 (事件捕获总发生在事件冒泡前面) 03.捕获:从外向里 ...
- JS事件流模型
JS事件流模型 事件捕获Event Capturing是一种从上而下的传播方式,以click事件为例,其会从最外层根节向内传播到达点击的节点,为从最外层节点逐渐向内传播直到目标节点的方式. 事件冒泡E ...
- js 事件流和事件冒泡阻止
js 事件流和事件冒泡阻止 事件流 当浏览器发展到第四代的时候(IE4与Netscape4)浏览器开发团队遇到一个有意思的的问题: 页面的哪一部分会拥有某个特定的事件? 比如在纸上画上一组同心圆,如果 ...
- JS事件流(W3C与IE区别)
一.JS事件的3个阶段:捕获.目标.冒泡,低版本IE不支持捕获阶段: 二.在浏览器解析事件的时候,有两种触发方式:一种叫做Bubbling(冒泡),另外一种叫做Capturing(捕获). 冒泡的方式 ...
- JS——事件流与事件处理程序
1.事件流:从页面中接收事件的顺序 1.1 IE :事件冒泡流1.2 Netscape :事件捕获1.3 DOM事件流 :事件捕获阶段——事件目标阶段——事件冒泡阶段DOM2级事件规定 :捕获阶段不会 ...
- JS事件流、DOM事件流、IE事件处理、跨浏览器事件处理、事件对象与类型
事件的移除 removeEventListener() 第二个参数需要指定要移除的事件句柄,不能是匿名函数,因为无法识别 想要移除成功,那么三个参数必须跟addEventListener中的三个完全一 ...
- js事件流、事件处理程序/事件侦听器
1.事件流 事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档). 事件捕获 ...
- JS事件流理解
事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字. 事件是javaScript和DOM之间的桥梁. 你若触发,我便执行--事件发生,调用它的处理函数执行相 ...
随机推荐
- Xcode自定义代码块
到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...
- React Native class 后面的命名首字母需要大写
React Native class 后面的命名首字母需要大写 否则会报Expeted a component class,got [object Object].
- Undefined symbols for architecture arm64解决方案
在iOS开发中经常遇到的一个错误是Undefined symbols for architecture arm64,这个错误表示工程某些地方不支持arm64指令集.那我们应该怎么解决这个问题了?我们不 ...
- apachetop 实时监测web服务器运行状况
apachetop 实时监测web服务器运行状况 我们经常会需要知道服务器的实时监测服务器的运行状况,比如哪些 URL 的访问量最大,服务器每秒的请求数,哪个搜索引擎正在抓取我们网站?面对这些问题 ...
- Hadoop分布式系统的安装部署
1.关于虚拟机的复制 新建一台虚拟机,系统为CentOS7,再克隆两台,组成一个三台机器的小集群.正常情况下一般需要五台机器(一个Name节点,一个SecondName节点,三个Data节点.) 此外 ...
- linux共享windows文件并自动化改变文件编码
以k3日志为例: 在k3的数据库服务器进行如下操作: 1.在k3的数据库服务器导出日志数据到本地D:/K3LOG下(脚本自动化执行) 2.设置脚本定时任务每天拷贝D:/K3LOG下的文件到D:/K3L ...
- vs2013给项目统一配置boost库
1.打开项目,然后点击菜单中的 视图->其他窗口->属性管理器 2. 打开属性管理器,点击项目前的箭头,展开项目,找到debug或者release下面的Microsoft.Cpp.Win3 ...
- 项目游戏开发日记 No.0x000005
14软二杨近星(2014551622) 还有一周就要交项目了, 看着周围的人也都忙碌了起来, 看着大部分人的项目都已经初具容貌, 我们团队里面也搞得人心惶惶, 一来是, 时间不多了, 还有很多事情要做 ...
- node基础12:动态网页
1.显示动态网页 又到了激动人心的时刻,马上就可以使用node创建动态网站了,其原理为: 在HTML模板中使用占位符 根据请求路径,确定需要返回的页面 根据请求参数来确定静态模板中占位符的值 使用正则 ...
- [LeetCode] Contains Duplicate III 包含重复值之三
Given an array of integers, find out whether there are two distinct indices i and j in the array suc ...