js 事件物件

2022-02-19 08:21:02 字數 2648 閱讀 9292

/*

事件繫結的格式:

元素節點.on + 事件型別 = function() 就是乙個事件物件

obtn 也是乙個物件,所以我們把上面中的.onclick = function(){}看作是 obtn物件的乙個方法(函式);

我們把這個事件函式寫在這以後,什麼事件呼叫的呢?

我們都知道,只有按鈕被點選時才會呼叫這個事件函式,所以這個函式是系統給呼叫的。

【注】我們自己呼叫得在頁面寫如下**

obtn.onclick();//我們自己呼叫

*///

}繼續看:

window.onload = function

()

obtn.onclick();

//我們自己呼叫

/* 我們再來看一下 obtn.onclick = function(){} 在呼叫的時候我們並沒有傳參,我們利用arguments(函式內建的陣列 arguments(只要宣告乙個

函式,系統就會自動分配乙個arguments陣列)用來存函式內的引數);*/

//測試一 我們自己呼叫時 給傳入實參會怎麼

window.onload = function

()

obtn.onclick(10);//

我們自己呼叫 給他乙個實參 10

//給我們的彈窗為 [object arguments] 說明是乙個arguments物件

window.onload = function

()

obtn.onclick(10);//

我們自己呼叫 給他乙個實參 10

}

//我們的測試結果是 10 說明我們的 實參已經傳入了進去。

/*測試二 我們來看一下 系統給我們呼叫時 會給arguments 函式內陣列 傳入什麼*/

window.onload = function

()

//點選頁面上的按鈕,讓系統自己呼叫

//點選頁面上的按鈕 給我們彈出 [object mouseevent] 翻譯出來是滑鼠事件物件 ,剛好click就是滑鼠事件型別的一種,

//所以系統在呼叫時傳入的引數是乙個 事件物件

/*

通過上面的arguments[0]的方式我們可以拿到 這個事件函式的 事件物件,但是我們都知道,在程式設計中能不用arguments就不用

arguments,所以我們準備給事件函式新增乙個自定義形參ev(因為事件的英語單詞為event,所以我們就自定義了乙個ev方便**閱讀)

即obtn.onclick = function(ev){};具體**如下*/

window.onload = function

()

}

效果與上圖相同

可以看出通過自定義形參的方式依然可以得到 事件物件

但是在ie8以下不支援這中形式,但是ie給我們提供了一種方式 通過window.event

具體**如下

//彈出的內容為 [object pointerevent] 也是滑鼠事件物件的意思,所以我們可以通過這個方法獲取,

//怎麼才能相容所有的瀏覽器呢,這裡有個獲取事件物件的固定格式寫法,具體**如下

obtn.onclick = function

(ev)

//利用 或運算的短路操作給 變數 e 賦值 。

//var e = ev || window.event; 這句語句的意思是 變數 e 如果瀏覽器有 ev 形參這種方式 或運算後面的 window.event 就不計算了,

//所以e 也就等於 ev 了,如果沒有ev這種形式,就執行後面的語句 e也就等於window。event了;

/*費勁心思的拿到 事件物件 是因為 事件物件有很多屬性要加在事件物件上。

例如滑鼠事件上的 .button .clientx .clienty .pagex .pagey .screenx .screeny

修改鍵(快捷鍵)屬性 .shiftkey .ctrlkey .altkey .metakey

加在鍵盤事件上的 keydown keyup keypress

JS 事件物件

在觸發dom上的某個事件時,會產生乙個事件物件event。這個物件中包含著所有與事件有關的資訊。包括導致事件的元素,事件的型別以及其他與特定事件相關的資訊。所有瀏覽器都支援event物件,event物件會傳入dom0級,dom2級,html指定,的事件處理程式中,但支援的方式不同,所以也會涉及跨瀏覽...

JS事件物件

1.什麼是事件物件 官方解釋 event 物件代表事件的狀態,比如鍵盤按鍵的狀態 滑鼠的位置 滑鼠按鈕的狀態。比如 誰繫結了這個事件。滑鼠觸發事件的話,會得到滑鼠的相關資訊,如滑鼠位置。鍵盤觸發事件的話,會得到鍵盤的相關資訊,如按了哪個鍵。2.事件物件的使用 事件觸發發生時就會產生事件物件,並且系統...

js事件物件

1 進入部落格 2 html event物件 在js中呼叫未被定義的變數,一般會報錯。我覺得這也是為什e e event中event要放在後面的原因。如果寫成window.event 其放在前面應該也沒關係 3 event物件 屬性和方法 屬性 button 判斷按滑鼠上的哪個鍵 0 沒有按鍵 1 ...