JS中的DOM事件

2021-07-22 09:43:29 字數 2607 閱讀 9405

1.html事件處理程式

html事件缺點:html和js**緊密的耦合在一起,js**個html都需要進行修改。2.dom0級事件處理程式

(較傳統的方式:把乙個函式賦值給乙個事件的處理程式屬性用的比較多的方法,簡單,跨瀏覽器的優勢)

沒有html事件處理程式的缺點。

3.dom2級事件處理程式

(dom2級事件定義了兩個方法

:用於處理指定和刪除事件處理程式的操作;addeventlistener()和removeeventlistner();接受三個引數:要處理的事件名、作為事件處理程式的函式和布林值)

html

js

var btn3=document.getelementbyid("btn3");

//           方法1

btn3.addeventlistener("click",showmessage,false);

//           方法2

btn3.addeventlistener("click",function(),false);

//          btn3.removeeventlistener("click",showmessage,false);刪除onclick屬性,事件登出

dom2事件缺點:ie8及以下瀏覽器不相容該方法。

4.ie事件處理程式

attachevent()新增事件,detachevent()刪除事件

(接收相同的兩個引數:事件處理程式的名稱和事件處理程式的函式)

不使用第三個引數的原因:ie8以及更早的瀏覽器版本只支援事件冒泡!

html

js

var btn4=document.getelementbyid("btn4");

//方法1

btn4.attachevent("onclick",showmessage);

//方法2

btn4.attachevent("onclick",function());

"onclick",showmessage);刪除onclick屬性,事件登出

ie事件缺點:除ie外其他瀏覽器不支援。

5.跨瀏覽器的事件處理程式

html

var btn5=document.getelementbyid("btn5");

//跨瀏覽器事件處理程式

var event=else if(element.attachevent)else

},//刪除控制代碼

removehandler:function(element,type,handler)else if(element.detachevent)else}}

event.addhandler(btn5,"click",showmessage);

"click",showmessage);刪除onclick屬性,事件登出

現在相容性處理之後,相容更多瀏覽器的按鈕事件了。但是呼叫這個方法之前,要把前面其他型別的按鈕事件注釋掉,否則這個方法呼叫預設無效。所以有了這個相容性處理方法之後,我們想用的時候,直接呼叫event.addhandler(節點,方法,事件名);就好了,不用的時候記得event.removehandler(節點,方法,事件名);防止記憶體洩漏。

JS筆記 歸納 DOM中的事件處理程式

在觸發dom上的某個時間是,會產生乙個事件物件event,這個物件中包含著所有與時間有關的資訊。包括導致事件的元素 事件的型別一急其他與特定事件相關的資訊。例如,滑鼠操作導致的事件物件中,會包含滑鼠位置的資訊,而鍵盤操作導致的事件物件中,會包含於按下的鍵有關的資訊。在dom上,有兩種方法對事件物件進...

JS(七) JS的DOM節點 Event(事件)

dom是w3c 全球資訊網聯盟 的標準。dom定義了訪問html和xml文件的標準。w3c文件物件模型 dom 是中立於平台和語言的介面,它允許程式和指令碼動態地訪問和更新文件的內容,結構和樣式。w3c dom標準被分為3個不同的部分 什麼是xml dom?xml dom定義了所有xml元素的物件和...

DOM 中的事件處理

根據 w3c dom 2 events 描述,eventtarget 介面被所有支援 dom 事件模型的節點 node 實現。該介面提供了 addeventlistener 和 removeeventlistener 方法,用來繫結或解綁乙個 eventlisteners 介面到乙個 eventta...