第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

使用removeHandler句柄時(shí)沒反應(yīng),沒有刪除事件程序

<input type="button" name="" value="按鈕" id="btn" />

var eventUtil={

addHandler:function(element,type,handler){//添加句柄

if(element.addEventListener){//DOM 二級

element.addEventListener(type, handler, false);

}else if(element.attachEvent){//低版本瀏覽器(IE9以下)

element.attachEvent('on'+type,handler);

}else{//DOM 零級

element['on'+type]=handler;//element.onclick === element['onclick']

}

},

removeHandler:function(element,type,handler){//刪除句柄

if(element.removeEventListener){

element.removeEventListener(type, handler, false);

}else if(element.detachEvent){

element.detachEvent('on'+type,handler);

}else{

element['on'+type]=null;

}

},

};

?

var btn=document.getElementById('btn');

eventUtil.addHandler(btn,'click',function(){-----------------------------------這個(gè)一直執(zhí)行

alert(this.value);? -----------------------這里還有一個(gè)問題,在IE9以下(不包括IE9),這里this.value為undefined?這是怎么回事啊

});

eventUtil.removeHandler(btn,'click',function(){-----------------------------------刪除了,但是不起作用,還會執(zhí)行addHandler

alert(this.value);

});


正在回答

1 回答

你的后面的代碼寫的有bug ,將var btn=document.getElementById('btn');后面的代碼

修改為:

function cons(event) {

alert(event.type);

}

eventUtil.addHandler(btn, 'click', cons);

//eventUtil.removeHandler(btn, 'click', cons);

因?yàn)槟銊h除句柄的時(shí)候要求參數(shù)和添加句柄時(shí)是一致的,包括第三個(gè)參數(shù):函數(shù),所以不能使用匿名函數(shù)。將這個(gè)函數(shù)封裝起來就可以了,

它傳進(jìn)去的是click這個(gè)事件本身,所以是沒有值的,但是你可以把刪除句柄的代碼注釋掉運(yùn)行一下看這個(gè)事件的type.如上。


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_巧詐不如絀誠_0 提問者

可以了,非常感謝!
2018-05-20 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

使用removeHandler句柄時(shí)沒反應(yīng),沒有刪除事件程序

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號