js事件流

event:事件对象,当一个事件发生的时候,和当前这个对象发生的这个事件有关的一些详细的信息都会被临时保存在一个指定地方-event对象,供咱们在须要调用。
event对象必须是在一个事件调用的函数里chrome

ie/chrome :event是一个全局对象
ff:标准 事件对象是经过事件函数的第一个参数传入 若是一个函数是被事件调用的那么这个函数定义的第一个参数就是事件对象
event兼容:
function(ev){
   var e=ev || event;
}函数

onmousemove:当鼠标在一个元素上面移动时触发
//触发频率不是像素,而是时间间隔,在一个指定时间内,若是鼠标和上一次的位置发生改变那么就会触发一次
//this

事件流
事件冒泡:当一个元素接收到事件时,会把他接收到的全部传播给他的父级
传播的是事件;一直到顶层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指向windowrem


标准:obj.addEventListener(事件名称,事件函数,是否捕获)
这里的事件名称是没有on的 默认是false不捕获(冒泡)true(捕获)
1:有捕获
2:事件名称没有on
3:事件执行的顺序是正序
4:this是触发该事件的对象io

fn1()执行函数
fn1.call() 调用函数
函数下的一个方法,call方法第一个参数能够改变函数执行过程当中的内部指向,call方法第二个参数开始就是原来函数的参数列表event

 

事件捕获
ie是不能捕获的
addEventlistener(obj,"click",true) //false改为true那么就是事件捕获了,事件自上往下传播,从外往里传播function

 

事件的取消:
取消普通事件与取消事件绑定函数
1:document.onclick=fn1;
document.onclick=null;//取消cli

2:ie:obj.detachEvent(事件,事件函数); 标准:obj.removeEventListener(事件,事件函数,false)

相关文章
相关标签/搜索