IE和FireFox(FF)中js和css的不同
css:
1.
ul標(biāo)簽中FF中有個(gè)padding值,卻沒(méi)有margin值,而在IE中正好相反
解決辦法:將ul的padding和margin都設(shè)為0(也可以不是0)如:padding:0;margin:0;list-style:none;
js:
1.
IE中innerText在FF中沒(méi)有,使用textContent;
eg:
var obj=document.getElementById("_td");
var text;
if(obj.innerText) {
text=obj.innerText;
} else if(obj.textContent) {
text=obj.textContent;
}
2.
在Ajax中返回對(duì)象狀態(tài)IE可以使用readystate但是在FF中必須為readyState,所以最好是都寫(xiě)成readyState
3.獲取IE和FF中的鍵盤(pán)返回值,
<input type="text" onkeyUp="test(event)"/>
function test(e) {
var keyc=GetKeyCode(e);
alert(keyc);
}
function GetKeyCode(e) {//取得不同瀏覽器下的鍵盤(pán)事件值
var keyc;
if(window.event) {//ie鍵盤(pán)事件
keyc=e.keyCode;
} else if (e.which) {//火狐
keyc=e.which;
}
return keyc;
}
4.為對(duì)象添加移除事件
var obj=document.getElementById("_tname');
添加事件:
if(obj.attachEvent) {
obj.attachEvent("onchange",function() {
otherfunction(params);//這里可以給其實(shí)方法傳參,也可以直接調(diào)用其它方法
});
} else if(obj.addEventListener) {
obj.addEventListener("change",function() {
otherfunction(params);
},false);
}
移除事件:
obj.onclick=null;
/*下面的代碼為什么不行,IE下輸出obj.onclick竟然為anonymous,希望高手能幫忙解決
if(obj.detachEvent) {
obj.detachEvent("onchange",test);
} else if(obj.removeEventListener) {
obj.removeEventListener("change",test,false);
}*/
5.
IE中event.x和event.y
在FF中只有event.pageX,event.pageY
都有event.clientX和event.clientY屬性
解決辦法:
var x=e.x?e.x:e.pageX;//e為event對(duì)象傳進(jìn)來(lái)的參數(shù)
6.IE下 input.type屬性為只讀,但是MF下可以修改
7.在 IE 中,getElementsByName()、(document.all[name] (還未測(cè)試成功))均不能用來(lái)取得 div元素(是否還有其它不能取的元素還不知道)。
8.通過(guò)js來(lái)觸發(fā)事件
<script type="text/javascript"><!--
function handerToClick(){
var obj=document.getElementById("btn1");
if(document.all){//IE中
obj.fireEvent("onclick");
} else {
var e=document.createEvent('MouseEvent');
e.initEvent('click',false,false);
obj.dispatchEvent(e);
}
}
// --></script>
<input type="button" value="btn1" id="btn1" onclick=" alert('按鈕btn1的click事件') " />
<input type="button" value="觸發(fā)ID為btn1的onclick事件" onclick=" handerToClick() " />
9.IE下event對(duì)象有srcElement屬性,Firefox下,event對(duì)象有target屬性
var obj=e.srcElement?e.srcElement:e.target;//e為event對(duì)象傳進(jìn)來(lái)的參數(shù)
//從這里下面的還未測(cè)試
10.在FF中自己定義的屬性必須getAttribute()取得
11.節(jié)點(diǎn)問(wèn)題
IE中使用parentElement parement.children,而FF中使用parentNode parentNode.childNodes
childNodes的下標(biāo)的含義在IE和FF中不同,F(xiàn)F使用DOM規(guī)范,childNodes中會(huì)插入空白文本節(jié)點(diǎn)。
FF中節(jié)點(diǎn)沒(méi)有removeNode方法,必須使用如下方法 node.parentNode.removeChild(node)
相關(guān)文章
javascript游戲開(kāi)發(fā)之《三國(guó)志曹操傳》零部件開(kāi)發(fā)(二)人物行走的實(shí)現(xiàn)
上一講我們談到了如何讓靜態(tài)人物變?yōu)閯?dòng)態(tài),今天我們來(lái)談?wù)勅绾问谷宋镆苿?dòng),感興趣的朋友可以了解下哦,順便鞏固一下animate方法的應(yīng)用,希望本文對(duì)你有所幫助2013-01-01JavaScript中你不得不知道的Promise高級(jí)用法分享
在JavaScript中,Promise是一種解決異步編程問(wèn)題的重要方式,本文主要來(lái)和大家探討一下23個(gè)Promise的高級(jí)用法,每一個(gè)都在JavaScript的海洋中航行,讓開(kāi)發(fā)者們能夠以更高效、優(yōu)雅的方式處理異步操作,希望對(duì)大就有所幫助2023-12-12JavaScript獲取偽元素(Pseudo-Element)屬性的方法技巧
這篇文章主要介紹了JavaScript獲取偽元素(Pseudo-Element)屬性的方法技巧,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03解決js相同的正則多次調(diào)用test()返回的值卻不同的問(wèn)題
今天小編就為大家分享一篇解決js相同的正則多次調(diào)用test()返回的值卻不同的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10純js網(wǎng)頁(yè)畫(huà)板(Graphics)類簡(jiǎn)介及實(shí)現(xiàn)代碼
今天需要在網(wǎng)頁(yè)上畫(huà)一個(gè)圖譜,想到用JS,經(jīng)過(guò)學(xué)習(xí),和網(wǎng)上搜索,經(jīng)過(guò)整理優(yōu)化得到下面代碼,注意不是用HTML5的canvas,而是用的純js,需要了解的朋友可以參考下2012-12-12javascript 密碼框防止用戶粘貼和復(fù)制的實(shí)現(xiàn)代碼
本篇文章主要是對(duì)javascript 密碼框防止用戶粘貼和復(fù)制的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02使用JS的DOM文檔對(duì)象模型獲取前端循環(huán)的參數(shù)
這篇文章主要介紹了使用JS的DOM(文檔對(duì)象模型)獲取前端循環(huán)的參數(shù),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02