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...