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)

相關文章
相關標籤/搜索