為瞭考慮瀏覽器的兼容性問題,都需要對瀏覽器進行類型檢測。
Java代碼
function addHandler(el, type, fn){
if(window.attachEvent){
//ie事件名稱前增加on開頭
el.attachEvent("on" + type, fn);
}else{
//記得加上第三個參數,由於ie下沒有事件捕捉,所以ff設置為事件冒泡保持一致
el.addEventListener(type, fn, false);
}
}
大多數前端開發中都會找到這樣代碼,但是從效率上來說還需要進一步考慮,這樣在每次綁定時候都需要判斷一次,其實在第一次調用的時候就已經知道瀏覽器的類型。
Java代碼
function addHandler(el, type, fn){
if(window.attachEvent){
//ie事件名稱前增加on開頭
addHandler =function(el, type, fn){
el.attachEvent("on" + type, fn);
}
}else{
//記得加上第三個參數,由於ie下沒有事件捕捉,所以ff設置為事件冒泡保持一致
addHandler = function(type, fn, false){
el.addEventListener(type, fn, false);
}
}
addHandler(type, fn, false); //第一次調用
}
在第一次調用以後的綁定方法就不需要每次都判斷類型瞭,這樣減少瞭重復的類型判斷。