常用跨浏览器设置——JS总结
1.跨浏览器添加事件
<pre name="code" class="javascript"> function addEvent(obj,type,fn) { if (obj.addEventListener) { obj.addEventListener(type,fn,false); } else if (obj.attachEvent) { obj.attachEvent('on' + type, fn); } }
2.跨浏览器移除事件
<pre name="code" class="javascript"> function removeEvent(obj,type,fn) { if (obj.removeEventListener) { obj.removeEventListener(type,fn,false); } else if ( obj.detachEvent) { obj.detachEvent('on' + type,fn); } }
3.跨浏览器字符编码
function getCharCode(evt) { var e = evt || window.event ; if (typeof e.charCode == 'number') { return e.charCode; } else { return e.keyCode; } }
4.跨浏览器获取可视范围内窗口大小
<pre name="code" class="javascript"> function getInner() { if(typeof window.innerWidth != 'undefined'){ return { //属性试-封装 width:window.innerWidth, height:window.innerHeight } } else { return { width:document.documentElement.clientWidth, height:document.documentElement.clientHeight } } }
5.跨浏览器获取滚动条位置
function getScroll(){ return{ top:document.documentElement.scrollTop || document.bady.scrollTop, left:document.documentElement.scrollLeft || document.body.scrollLeft } }
通过抽象、封装而得到像公式一样的函数体,很多功能函数,语言本身没有给出,但给出了基本获取方法,我们需要的功能可能还需要进行适当的拼装和使用适当的算法处理,最终得到适宜我们使用的函数。
原文地址:http://blog.csdn.net/wangqingbo0829/article/details/46291797