JS中的event 物件詳解

2022-05-04 02:39:07 字數 2015 閱讀 3108

event屬性和方法:

1. type:事件的型別,如onlick中的click;

2. srcelement/target:事件源,就是發生事件的元素;

3. button:宣告被按下的滑鼠鍵,整數,1代表左鍵,2代表右鍵,4代表中鍵,如果按下多個鍵,酒把這些值加起來,所以3就代表左右鍵同時按下;(firefox中 0代表左鍵,1代表中間鍵,2代表右鍵)

4. clientx/clienty:事件發生的時候,滑鼠相對於瀏覽器視窗可視文件區域的左上角的位置;(在dom標準中,這兩個屬性值都不考慮文件的滾動情況,也就是說,無**檔滾動到**,只要事件發生在視窗左上角,clientx和clienty都是 0,所以在ie中,要想得到事件發生的座標相對於文件開頭的位置,要加上

document.body.scrollleft和 document.body.scrolltop)

5. offsetx,offsety/layerx,layery:事件發生的時候,滑鼠相對於源元素左上角的位置;

6. x,y/pagex,pagey:檢索相對于父要素滑鼠水平座標的整數;

7. altkey,ctrlkey,shiftkey等:返回乙個布林值;

8. keycode:返回keydown何keyup事件發生的時候按鍵的**,以及keypress 事件的unicode字元;(firefox2不支援 event.keycode,可以用 event.which替代 )

9. fromelement,toelement:前者是指代mouseover事件中滑鼠移動過的文件元素,後者指代mouseout事件中滑鼠移動到的文件元素;

10. cancelbubble:乙個布林屬性,把它設定為true的時候,將停止事件進一步起泡到包容層次的元素;(e.cancelbubble = true; 相當於 e.stoppropagation();)

11. returnvalue:乙個布林屬性,設定為false的時候可以組織瀏覽器執行預設的事件動作;(e.returnvalue = false; 相當於 e.preventdefault();)

12. attachevent(),detachevent()/addeventlistener(),removeeventlistener:為制定 dom物件事件型別註冊多個事件處理函式的方法,它們有兩個引數,第乙個是事件型別,第二個是事件處理函式。在

attachevent()事件執行的時候,this關鍵字指向的是window物件,而不是發生事件的那個元素;

13. screenx、screeny:滑鼠指標相對於顯示器左上角的位置,如果你想開啟新的視窗,這兩個屬性很重要;

一些說明:

1. event代表事件的狀態,例如觸發event物件的元素、滑鼠的位置及狀態、按下的鍵等等;

2. event物件只在事件發生的過程中才有效。

firefox裡的event跟ie裡的不同,ie裡的是全域性變數,隨時可用;firefox裡的要用引數引導才能用,是執行時的臨時變數。

在ie/opera中是window.event,在firefox中是event;而事件的物件,在ie中是 window.event.srcelement,在firefox中是event.target,opera中兩者都可用。

3. 下面兩句效果相同

var evt = (evt) ? evt : ((window.event) ? window.event : null);

var evt = evt || window.event; // firefox下window.event為null, ie下event為null

4. ie中事件的起泡

ie中事件可以沿著包容層次一點點起泡到上層,也就是說,下層的dom節點定義的事件處理函式,到了上層的節點如果還有和下層相同事件型別的事件處理函式,那麼上層的事件處理函式也會執行。例如, div 標籤包含了 a ,如果這兩個標籤都有onclick事件的處理函式,那麼執行的情況就是先執行標籤 a 的onclick事件處理函式,再執行 div 的事件處理函式。如果希望的事件處理函式執行完畢之後,不希望執行上層的 div 的onclick的事件處理函式了,那麼就把cancelbubble設定為true即可。

js 中的event物件

event代表事件的狀態,例如觸發event物件的元素 滑鼠的位置及狀態 按下的鍵等等。event物件只在事件發生的過程中才有效。event的某些屬性只對特定的事件有意義。比如,fromelement 和 toelement 屬性只對 onmouseover 和 onmouseout 事件有意義。e...

JS中的event物件

關於js中的event物件 1.任何事件觸發後將會產生乙個event物件 2.event物件記錄事件發生時的滑鼠位置,鍵盤按鍵狀態和觸發物件等資訊 獲得event物件 使用event物件獲得相關資訊,如單擊位置,觸發物件等 常用屬性 clientx clinty cancelbubble等 如何獲取...

js中的event詳解

event代表事件的狀態,例如觸發event物件的元素 滑鼠的位置及狀態 按下的鍵等等。event物件只在事件發生的過程中才有效。event的某些屬性只對特定的事件有意義。比如,fromelement 和 toelement 屬性只對 onmouseover 和 onmouseout 事件有意義。e...