為同乙個元素新增相同的事件時,後新增的事件會覆蓋之前新增的。
o.
onclick
=function();o.
onclick
=function()
;
列印結果為2。
為了解決後寫的覆蓋之前的,就需要使用事件的繫結。
分為標準(谷歌火狐等瀏覽器),ie
事件的繫結:
標準: 元素.
addeventlistener
("事件型別(不加on)",事件處理函式,是否捕獲)
o.addeventlistener("click"
,fun1,
false);
ie
:元素.
attach
("事件型別(加on)",事件處理函式)
o.attachevent
("onclick"
,fun1)
;
標準瀏覽器的事件和ie瀏覽器事件繫結是不共存的,只能寫乙個,以下為相容寫法
if(o.addeventlistener)
else
;
事件的取消:
繫結事件怎麼新增就怎麼取消。
ie:繫結:o.attachevent(onclick,fun);
取消:o.detachevent(onclick,fun);
標準:繫結:o.addeventlistener(click,fun,false);
取消:o.removeeventlister(click,fun,false);
或者直接取消:
o.οnclick=null;
事件繫結和取消繫結,重複彈出框問題
最近在做click的事件繫結,發現如果對事件繫結了兩次click,就會彈出兩次彈出框,最後找到了解決方案。1.首先,說下對元素進行事件繫結的方法 myid on click function event 此時會彈出hello,但是有時候我們發現不止彈出一次hello,原因可能是我們對這個id繫結了多...
事件繫結與事件委託
事件繫結 為什麼要用到事件繫結?我的理解是同乙個物件無法新增多個事件?如果新增多個事件的話按照執行順序來說下邊的事件會把上面的替換 就像以下 var odiv document.getelementbyid div1 odiv.onclick function odiv.onclick functi...
事件繫結與解除
ele.onclick function event 乙個元素的同乙個事件只能繫結乙個處理函式,基本等同於寫在行間,控制代碼,this指向dom元素本身 obj.addeventlistener type,fn,false type 事件型別,fn 處理函式,乙個事件可以繫結多個處理函式,ie9以下...