参数e表示事件 1、获取滚动距离:滚动条 document.documentElement.scrollTop || document.body.scrollTop document.documentElement.scrollTop () document.body.scrollTop() // 兼容IE版本 2、事件中的兼容 e = e || window.event; 标准兼容写法:e.screenX、e.screenY、e.offsetX、e.offsetY IE兼容写法:window.event、window.event.screenX // 将事件作为window对象的事件属性 3、样式兼容(非行间样式) getcomputedStyle() 传两个参数 第一个为当前对象 第二个为伪类选择器,通常用false currentStyle() 使用方式为:对象.current[attr] 4、事件冒泡兼容的解决 e.stopPropagation ? e.stopPropagation() : e.cancelBubble=true; // 不可反过来写 e.stopPropagation() // 标准兼容写法 e.cancelBubble=true; // IE兼容写法 5、默认行为兼容的解决 e.preventDefault ? e.preventDefault() : e.returnValue=false; preventDefault() // 标准兼容写法 returnValue() // IE兼容写法 6、DOM2级事件监听兼容 addEventListener() || removeEventListener() ; // 标准浏览器的监听和移除写法 attachEvent() || detachEvent() // IE的监听和移除写法 7、事件目标对象兼容 var src = event.target || event.srcElement; IE的事件对象有srcElement属性,无target属性 标准浏览器的事件对象有target属性,无srcElement属性 8、获取按下的键盘码 e.keyCode || e.which 标准兼容 || IE兼容 9、获取事件源 e.target || e.srcElement // 点击事件,获取的是点击位置标签名(大写) 标准兼容 || IE兼容
