標籤:comment 堅持 tac 事件冒泡 前端開發 keyword getch 私人屬性 comm
在我們前端開發中,經常會遇到相容性的問題,因為要考慮使用者會使用不同的瀏覽器來訪問你的頁面,你要保證你做的網頁在任何一個瀏覽器中都能正常的運行,下面我就舉幾個常用原生JS的相容寫法:
1:添加事件方法
addHandler:function(element,type,handler){
if
(element.addEventListener){
//檢測是否為DOM2級方法
element.addEventListener(type, handler,
false
);
}
else
if
(element.attachEvent){
//檢測是否為IE級方法
element.attachEvent(
"on"
+ type, handler);
}
else
{
//檢測是否為DOM0級方法
element[
"on"
+ type] = handler;
};
};2:擷取事件及事件對象目標
getEvent:
function
(event){
return
event ? event : window.event;
},
getTarget:
function
(event){
return
event.target || event.srcElement;
};3:阻止瀏覽器預設事件的相容性寫法
preventDefault:
function
(event){
if
(event.preventDefault){
event.preventDefault();
}
else
{
event.returnValue =
false
;
};
};4:阻止事件冒泡的相容性寫法
stopPropagation:
function
(event){
if
(event.stopPropagation){
event.stopPropagation();
}
else
{
event.cancelBubble =
true
;
};
};5:跨瀏覽器的方式取得字元編碼
getCharCode:
function
(event){
if
(
typeof
event.charCode ==
"number"
){
return
event.charCode;
}
else
{
return
event.keyCode;
};
};基本原生JS中相容性問題我能想起來的也就這麼多了,希望對大家的學習有協助.另外多加一個CSS3中相容性寫法 -webkit這個為瀏覽器的首碼代表瀏覽器的私人屬性
-ms 這是IE瀏覽器的首碼
-moz 這代表了Firefox瀏覽器的首碼
-o 這代表著歐朋瀏覽器
-webkit 這代表了Google瀏覽器和蘋果瀏覽器今天就先寫到這裡了,明天見! 堅持!堅持!堅持!堅持!堅持!
常用原生JS相容寫法