Javascript中的事件

JavaScript中的ejavascript

e是事件對象,就是js事件相關信息對象,並且根據不一樣的事件,屬性值會不同。好比  obj.onclick=function(e){java

console.log(e);瀏覽器

}異步

這裏的e就是obj點擊事件的事件對象。函數

一個完整的事件系統,一般存在如下三個角色:spa

事件對象用於儲存事件的狀態。好比事件在其中發生的元素(e.srcElement),鍵盤按鍵的狀態,鼠標的位置,鼠標的按鈕的狀態。事件對象由一個事件源生成。對象

何時產生事件對象?索引

當用戶點擊某個事件源的時候,就產生了一個事件對象。當事件監聽器被觸發時,就是監聽器相應函數,事件就會被執行。該事件的本質就是一個函數,而這個函數的形參就收一個even對象,也就是事件對象。事件

事件源對象當前事件在操做的對象,過索引機制獲得的對象(元素節點buttonsubmit什麼的),文檔對象,window對象 XMLHttpRequest對象等。ip

事件監聽器:調用事件處理方法的對象。當一個事件源生成一個事件對象時IE,事件對象恆爲全局屬性window.event的分身。onclick,onmousemove之類的事件屬性,它們充當事件監聽器(事件驅動開關)onclick後面的函數就是回調函數(事件驅動程序),這是異步執行的。

JavaScript裏面var e=window.event;var obj=e.srcElement;什麼做用

var e=window.event;

是獲取事件對象,這裏是IE下的,eventwindow的一個屬性;

var obj=e.srcElement;

是獲取發生事件的那個元素,這個元素是一個對象,也就是事件源對象。這也是IE下的。

要實現全部瀏覽器兼容,就用如下代碼:

var e = window.event || event;

var obj = e.srcElement || e.target

有以下題目:

1.請實現,鼠標點擊頁面中的任意標籤,alert該標籤的名稱.(注意兼容性)

解答:<script type="text/javascript">

document.onclick=function(e){

     var e=(e||window.event);//獲取事件對象

     var o=e["target"]||e["srcElement"];//獲取發生事件的元素,即事件源

     alert(o.tagName.toLowerCase());

}

</script>

document 簡單的理解就是頁面。

onclick  是點擊事件。

document.onclick 就是給頁面添加點擊事件。

相關文章
相關標籤/搜索