JS事件捕捉測試

2022-03-01 13:55:48 字數 904 閱讀 2029

我是a

我是p我是span

window.onload=function()

}

在谷歌、火狐中「成功」實現了,但是ie中卻怎麼點都沒反應。做些除錯後發現是target的問題,原來ie不支援target屬性。好在ie有自己的「target」——srcelement。於是這裡加個判斷:

window.onload=function()

else}}

這樣就成功實現了嗎?不對,還是有問題。當我點選在div內的空白部分時,竟然會彈出這樣的提示框!

原來target和srcelement的事件捕捉還包括父節點的,好傢伙…於是我只好再寫判斷,獲取子節點:

window.onload=function(){

var judge=document.getelementbyid("judge").childnodes;

for(i=0;i嗯,這樣就完美了,嘿嘿。

後來才知道原來還可以這樣寫:

window.onload=function(){

//var judge=document.getelementbyid("judge").childnodes;

// for(i=0;i最後的結果是一樣的,後者好像更容易理解一些。

知識梳理:

e物件代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、滑鼠的位置、滑鼠按鈕的狀態。(ie需要if(window.event) e=window.event來建立)

target事件屬性可返回事件的目標節點(觸發該事件的節點),如生成事件的元素、文件或視窗。

ie不支援target屬性,有自己「target」——srcelement。使用方法一樣。

nodetype判斷節點型別。

js事件冒泡和事件捕捉

結論 他們是描述事件觸發時序問題的術語。事件捕獲指的是從document到觸發事件的那個節點,即自上而下的去觸發事件。相反的,事件冒泡是自下而上的去觸發事件。繫結事件方法的第三個引數,就是控制事件觸發順序是否為事件捕獲。true,事件捕獲 false,事件冒泡。預設false,即事件冒泡。jquer...

js 捕捉滾動條事件

這裡是1 a br a href p2 這裡是2 a br a href p3 這裡是3 a br a href p4 這裡是4 a br a href p5 這裡是5 a br a href p6 這裡是6 a br a href p7 這裡是7 a br a href p8 這裡是8 a br ...

捕捉鍵盤事件

keypress主要用來接收字母 數字等ansi字元,而 keydown 和 keyup 事件過程可以處理任何不被 keypress 識別的擊鍵,諸如 功能鍵 f1 f12 編輯鍵 定位鍵以及任何這些鍵和鍵盤換檔鍵的組合等。與 keydown 和 keyup 事件不同的是,keypress 不顯示鍵...