兼容IE,chrome 等所有浏览器 回到顶部代码
2016-08-04 15:59
501 查看
今天在博客园看到一片帖子回到顶部代码,索性就看了下,但是发现在非IE浏览器下可以运行,在IE浏览器下却运行不了。
故将其代码搬弄过来做了些许修改后,完美支持了IE下的运行。
View Code
有什么地方有不妥之处,还望大神们指正,小弟不胜感激。
源码下载地址:https://pan.baidu.com/s/1eR5xD2i
故将其代码搬弄过来做了些许修改后,完美支持了IE下的运行。
/* * 添加事件处理程序 * @param object object 要添加事件处理程序的元素 * @param string type 事件名称,如click * @param function handler 事件处理程序,可以直接以匿名函数的形式给定,或者给一个已经定义的函数名。匿名函数方式给定的事件处理程序在IE6 IE7 IE8中可以移除,在标准浏览器中无法移除。 * @param boolean remove 是否是移除的事件,本参数是为简化下面的removeEvent函数而写的,对添加事件处理程序不起任何作用 * 描述:一个函数完全代替attachEvent/detachEvent,并且支持所有主流浏览器、解决IE6 IE7 IE8事件绑定导致的先绑定后执行问题。 * 下面是完美兼容addEventListener/removeEventListener和attachEvent/detachEvent的函数,支持Google Chrome/Firefox/Safari/Opera/IE 6 7 8 9 10 11等所有主流浏览器, * 能够完美解决IE6 IE7 IE8 this指向错误,能够纠正IE6 IE7 IE8中事件先绑定后执行的错误。 */ function addEvent(object, type, handler, remove) { if (typeof object != 'object' || typeof handler != 'function') return; try { object[remove ? 'removeEventListener' : 'addEventListener'](type, handler, false); } catch (e) { var xc = '_' + type; object[xc] = object[xc] || []; if (remove) { var l = object[xc].length; for (var i = 0; i < l; i++) { if (object[xc][i].toString() === handler.toString()) object[xc].splice(i, 1); } } else { var l = object[xc].length; var exists = false; for (var i = 0; i < l; i++) { if (object[xc][i].toString() === handler.toString()) exists = true; } if (!exists) object[xc].push(handler); } object['on' + type] = function () { var l = object[xc].length; for (var i = 0; i < l; i++) { object[xc][i].apply(object, arguments); } } } } /* 移除事件处理程序 */ function removeEvent(object, type, handler) { addEvent(object, type, handler, true); }
View Code
有什么地方有不妥之处,还望大神们指正,小弟不胜感激。
源码下载地址:https://pan.baidu.com/s/1eR5xD2i
相关文章推荐
- 回到顶部代码,兼容IE CHROME FIREFOX
- 【代码片段】jquery 回到顶部效果(全兼容浏览器)可自定义出现位置和页面宽度
- 兼容IE,Firefox,chrome等浏览器 : 设为首页和收藏的Javascript代码
- 兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
- JS控制图片翻转代码,兼容firefox,ie,chrome等浏览器
- 兼容IE、火狐、谷歌及所有浏览器的悬浮代码
- 兼容IE,Firefox,chrome等浏览器 : 设为首页和收藏的Javascript代码
- 设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
- 兼容所有主流浏览器的图片上传本地预览(IE\FIREFOX\CHROME)
- 兼容所有主流浏览器的图片上传本地预览(IE\FIREFOX\CHROME)
- 无抖动层回到顶部(兼容所有主流浏览器)
- JS复制内容到剪贴板: 兼容IE、Firefox、Chrome、Safari所有浏览器【转】
- dom 回到顶部(兼容IE FF Chrome)
- 多图片上传+图片预览,兼容所有浏览器 IE5/IE6/IE7/IE8/IE9/Chrome/Safari/Firefox/Opera/
- 兼容IE、火狐、谷歌及所有浏览器的悬浮代码
- 多图片上传+图片预览,兼容所有浏览器 IE5/IE6/IE7/IE8/IE9/Chrome/Safari/Firefox/Opera/
- 兼容IE,Firefox,chrome等浏览器 : 设为首页和收藏的Javascript代码
- 取得窗口大小和窗口位置-兼容所有浏览器的js代码