JS事件流,事件繫結

2021-08-11 17:06:55 字數 1066 閱讀 3921

事件流,事件繫結

主流browser,符合w3c標準,支援冒泡和捕獲

低版本ie,僅支援冒泡

冒泡到window

document

事件繫結/解綁

elem.addeventlistener(evt, func, usecapture)

elem.removeeventlistener(evt, func)

elem.attachevent(onevt, func)

elem.detachevent(onevt, func)

阻止事件流

e.stoppropagation() //阻止傳播(捕獲+冒泡)

(部分也相容了ie)

window.event.cancelbubble //阻止冒泡

阻止預設事件

e.preventdefault()

window.event.returnvalue = false

dom2級事件事件流:

三個階段:捕獲、處於、冒泡

document.getelementbyid('daddy').addeventlistener('click',function(), true); //捕獲階段觸發

document.getelementbyid('child').addeventlistener('click',function(e), false); //冒泡階段觸發

document.getelementbyid('grandchild ').addeventlistener('click',function(), true); //捕獲階段觸發

輸出:daddy, grandchild, child;

target, currenttarget和this

舉個栗子就好明白了

document.getelementbyid('parentnode').addeventlistener('click',function(e).bind(obj))

js事件繫結

事件繫結,常見的是odiv.nclick function 這種方式繫結事件太單一,如果繫結多個,那麼最後乙個事件會覆蓋掉之前的,也就是說只執行最後一次繫結的事件,這裡要說的是addeventlistener方法,和ie下的attachevent方法 html 如下 box son1 son2 介面...

js 事件繫結

事件繫結的方式 1.dom 元素行內繫結 div onclick alert 1 div 2.js on eventtype document.onclick function 3.addeventlistener document.getelementbyid mybtn addeventlist...

js 繫結事件

建立乙個js的繫結事件,而這個需要乙個addeventlistener事件。在js裡不要將事件寫在標籤裡 建立乙個canvas物件,並且繫結物件。發現出現test.html 26 uncaught typeerror cannot read property addeventlistener of ...