跨瀏覽器處理事件

2021-07-11 06:00:54 字數 1260 閱讀 7456

dom0的處理事件就簡單說一下

一種直接在標籤裡寫屬性(小寫οnclick=』fun···』)

另一種則將乙個處理函式賦值給乙個事件處理程式屬性。

要移除也就是把該事件處理程式屬性賦值為null;

現在切入正題:

addeventlistener和removeeventlistener是dom2級事件。

引數中唯一值得一提的就是第三個引數

true: 捕獲階段呼叫事件處理程式(從父級->子元素)

false: 冒泡階段呼叫(從子元素->父級)

而ie任性的實現了與 dom 中類似的兩個方法:attachevent和detachevent

而且他們不提供任何決定捕獲事件階段的方法,預設新增在冒泡階段···還好還好,起碼還是跟隨了我們日常處理的習慣。

除此之外還要提一下兩個玩意兒

event.target 和 event.currenttarget

事件觸發時,會預設傳入乙個event物件,event.target儲存的是事件觸發物件,event.currenttarget 儲存的是事件繫結物件,當然,很多時候是同乙個物件。

老版本ie在這裡又作了一把,沒有event.target ,而是event.srcelement···作用和event.target 一樣。

w3c這麼說:

event.srcelement is a proprietary alias for the standard event.target property. it is specific to old versions of microsoft internet explorer.

var eventutil =  else

if (element.attachevent) else

},removehandler: function(element, type, handler) else

if (element.detachevent) else

}}var btn = document.getelementbyid("mybtn");

function gettarget(e)

var handler = function()

eventutil.addhandler(btn, "click", handler);

eventutil.removerhandler(btn, "click", handler);

跨瀏覽器的事件處理

事件型別 ie中的事件物件 dom中的事件物件 獲取方法 window.event event 兩者都含有一些常規的屬性 方法,在所有的事件中呈現。dom事件物件的屬性 方法 ie事件物件的屬性 方法 除卻以上的屬性,還有些事件擁有著較為特殊的屬性,如 事件屬性 放放 介紹mousedown but...

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

事件 事件是使用者或瀏覽器自身執行的某些動作,例如 click load mouseover 事件處理程式 用於響應某個事件的函式 在不同的瀏覽器,dom中,事件處理程式是響應某個事件的函式 dom0 中事件處理函式 event onclick function 刪除程式 event onclick...

跨瀏覽器新增事件處理程式

新增事件 element是要操作的元素,type是事件名稱,handler是事件處理程式函式 function addhandler element,type,handler else if element.attachevent else 移除事件 function removehandler e...