IE和FF区别关于css和js

css

1.ul标签FF中有padding值,没有margin,IE中相反
解决办法:将ul的padding和margin都设为0,
js
1.IE中innerText在火狐中没有,使用textContext;
2.在ajax中返回对象状态IE使用readystate,火狐中必须是readyState,所以最好都写成readyState
3.获取IE和FF中的键盘返回值,
<input type="text" onkeyUp="test(event)"/> 
function test(e) { 
var keyc=GetKeyCode(e); 
alert(keyc); 
function GetKeyCode(e) {//取得不同浏览器下的键盘事件值 
var keyc; 
if(window.event) {//ie键盘事件 
keyc=e.keyCode; 
} else if (e.which) {//火狐 
keyc=e.which; 
return keyc; 
4.为对象添加移除事件 
var obj=document.getElementById("_tname'); 
添加事件: 
if(obj.attachEvent) { 
obj.attachEvent("onchange",function() { 
otherfunction(params);//这里可以给其实方法传参,也可以直接调用其它方法 
}); 
} 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对象传进来的参数 
6.IE下 input.type属性为只读,但是MF下可以修改 
7.在 IE 中,getElementsByName()、(document.all[name] (还未测试成功))均不能用来取得 div元素(是否还有其它不能取的元素还不知道)。 
8.通过js来触发事件 
<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="触发ID为btn1的onclick事件" onclick=" handerToClick() " /> 
9.IE下event对象有srcElement属性,Firefox下,event对象有target属性 
var obj=e.srcElement?e.srcElement:e.target;//e为event对象传进来的参数 
//从这里下面的还未测试 
10.在FF中自己定义的属性必须getAttribute()取得 
11.节点问题 
IE中使用parentElement parement.children,而FF中使用parentNode parentNode.childNodes 
childNodes的下标的含义在IE和FF中不同,FF使用DOM规范,childNodes中会插入空白文本节点。 

FF中节点没有removeNode方法,必须使用如下方法 node.parentNode.removeChild(node)

上一篇:Beamer中左边画图, 右边文字解释


下一篇:JS中遍历普通数组和字典数组的区别