Js IE、FF兼容问题整理

1、window.event

  • IE:有window.event对象
  • FF:没有window.event对象。可以通过给函数的参数传递event对象。

     如:

<input type="button" onmousemove="showDiv(event);"//event不需要加引号
function showDiv(event)
{
var event=window.event||event;
event.clientX;
event.clientY;
}
 

//鼠标当前坐标
IE:event.x和event.y。
FF:event.pageX和event.pageY。
通用:两者都有event.clientX和event.clientY属性。

//鼠标当前坐标(加上滚动条滚过的距离)
IE:event.offsetX和event.offsetY。
FF:event.layerX和event.layerY。
解决方法:
<script>
function test(event) {
var event = event || window.event;
//or var event = event ? event : window.event;//这2中都可以,也可以用if else(这简写)
var x = event.offsetX || event.layerX;
var y = event.offsetY || event.layerY;
//do Something
}
</script>
<div onmousedown="test(event)"></div>
//innerText在IE中能正常工作,但是innerText在FireFox中却不行. 需用textContent   

posted @ 2010-12-31 15:42  Xia.CJ  阅读(261)  评论(0编辑  收藏  举报