在IE和FireFox(FF)中js和css的不同 css: 1. ul标签中FF中有个padding值,却没有margin值,而在IE中正好相反 解决办法:将ul的padding和margin都设为0(也可以不是0)如:padding:0;margin:0;list-style:none; js: 1. IE中innerText在FF中没有,使用textContent; eg: 复制代码 代码如下:var obj=document.getElementById("_td"); var text; if(obj.innerText) { text=obj.innerText; } else if(obj.textContent) { text=obj.textContent; } 2. 在Ajax中返回对象状态IE可以使用readystate但是在FF中必须为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)
推荐阅读
jQuery 入门讲解1
jQuery构造函数 JQuery优点 ◦体积小(v1.2.3 15kb) ◦丰富的DOM选择器(CSS1-3 + XPath) ◦跨浏览器(IE6,FF,Safari,Opera) ◦链式代码 ◦强大的事件、样式支持 ◦强大的AJAX功能>>>详细阅读
本文标题:IE和FireFox(FF)中js和css的不同
地址:http://www.17bianji.com/kaifa2/JS/28839.html
1/2 1