IE和FireFox(FF)中js和css的不同

  在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)