常见JS/CSS兼容问题

1、DOM2级事件处理:

chrome/firefox等支持ele.addEventListener(event, handler, catchevent?bulbevent(false))和removeEventListener

低版本ie支持attachEvent(on + event, handler)和detachEvent

以上均不支持的浏览器用ele[on + event] = handler和设为null来移除事件

2、event事件对象:

一般浏览器支持event对象,而且可以用stopPropagation()和preventDefault()来阻止冒泡事件和事件的默认行为。

但低版本IE需要用window.event,阻止冒泡事件和事件的默认行为要通过cancelBulble = true和returnValue = false而且target也要换成srcElement,type是通用的

event = event || window.event

ele = event.target || window.event.srcElement

3、通过类名获取元素:

低版本IE不支持该方法,需要自行实现。

4、obj.style只能获取行内属性,获取非行内元素要通过下面方法

currentStyle[attr] ie

getComputedStyle(obj, false)[attr] firefox

来获取,或者可以使用clientWidth和offsetWidth来获取

5、css阴影,CSS3圆角类似

ie:box-shadow: 0 0 8px #ddd

ff:-moz-box-shadow:0 0 8px #ddd;

其他: -webkit-box-shadow:0 0 8px #ddd;

6、XMLHttpRequest

var request;

if(window.XMLHttpRequest){

request = new XMLHttpRequest();//IE7+ ff,chrome,opeara,safari

}else{

request = new ActiveXObject("Microsoft.XMLHTTP");//ie6,ie5

}

……

你可能感兴趣的:(常见JS/CSS兼容问题)