註冊事件的兩種方式:onclick和addeventlistener呼叫者:事件源為了方便記憶,這裡分三種
引數1:事件去掉on
引數2 :呼叫的函式
引數3:可有可無。沒有預設false。false情況下,支援冒泡。true支援捕獲。
addeventlisener中第乙個引數type是click、load,不帶on
attachevent中乙個引數type是onclick、onload
addeventlistener:
事件處理程式會在當前物件的作用域執行,因此,事件處理程式的this就是當前物件
attachevent:
事件處理程式是在全域性作用域下執行,因此this就是window
因為傳統的onclick方法,普通事件繫結會覆蓋,無法繫結兩個邏輯
document.onclick = function ()
document.onclick = function ()
執行結果:只輸出「第二句」,因為前面的事件被覆蓋了
addeventlistener: 團隊開發!
document.addeventlistener("click", function () )
document.addeventlistener("click", function () )
執行結果:先輸出「第一句」,再輸出「第二句」
//封裝乙個方法
//1.事件源
//2.事件(不要on,字串新增比擷取簡單)
//3.事件驅動程式
function addevent(ele,eve,fn)else if(ele.attachevent)else
}
註冊事件的兩種方式
element.onclick function 特點 傳統的註冊方式具有唯一性,即同乙個元素同一事件只能設定乙個函式,如果寫了多個函式,最後乙個函式會把之前的函式都覆蓋掉。證明 傳統註冊事件 button 方法監聽註冊事件 button ie9 attachevent button var btn...
js 自定義事件的兩種方式
建立事件物件 let customevent new customevent customeventname 分派事件 document.dispatchevent customevent 監聽事件 document.addeventlistener customeventname e 建立事件物件...
Android 廣播註冊兩種方式
兩種註冊型別的區別是 1 第一種不是常駐型廣播,也就是說廣播跟隨activity的生命週期。注意 在activity結束前,移除廣播接收器。2 第二種是常駐型,也就是說當應用程式關閉後,如果有資訊廣播來,程式也會被系統呼叫自動執行。在android下,要想接受廣播資訊,那麼這個廣播接收器就得我們自己...