.bind不兼容的问题
Function.prototype.bind = function () {
var fn = this, args = Array.prototype.slice.call(arguments), object = args.shift();
return function () {
return fn.apply(object,
args.concat(Array.prototype.slice.call(arguments)));
};
}; .getElementsByClassName 不兼容的问题
var getElementsByClassName = function (searchClass, node, tag) {
var result = [];
if (document.getElementsByClassName) {
var nodes = (node || document).getElementsByClassName(searchClass);
for (var i = 0; node = nodes[i++];) {
if (tag !== "*" && node.tagName === tag.toUpperCase()) {
result.push(node)
}
}
return result
} else {
node = node || document;
tag = tag || "*";
var classes = searchClass.split(" "),
elements = (tag === "*" && node.all) ? node.all : node.getElementsByTagName(tag),
patterns = [],
current,
match;
var i = classes.length;
while (--i >= 0) {
patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)"));
}
var j = elements.length;
while (--j >= 0) {
current = elements[j];
match = false;
for (var k = 0, kl = patterns.length; k < kl; k++) {
match = patterns[k].test(current.className);
if (!match) break;
}
if (match) result.push(current);
}
return result;
}
}
addEventListener不兼容的问题
function myAddEvent(obj, ev, fn) {
if (obj.attachEvent) {
obj.attachEvent("on" + ev, fn);
}
else {
obj.addEventListener(ev, fn, false);
}
} .map不兼容的问题
Array.prototype.myMap = function (fn, context) {
context = context || window;
var ary = [];
if (Array.prototype.map) {
ary = this.map(fn, context);
} else {
for (var i = 0; i < this.length; i++) {
ary[i] = fn.apply(context, [this[i], i, this]);
}
}
return ary;
}
e.stopPropagation的兼容性问题

function stopPropagation(){
e = window.event || e;
if (document.all) { //只有ie识别
e.cancelBubble = true;
} else {
e.stopPropagation();
}
} e.currentTarget的兼容性问题修复如下:
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
if (isIE) {
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if (fIEVersion == 7 || fIEVersion == 8) {
e=e.srcElement.parentElement;
}else{
e=e.currentTarget;
}
}else{
e=e.currentTarget;
}

最新文章

  1. Struts2学习笔记--使用Response下载文件和Struts2的StreamResult文件下载
  2. PHP JSON数组与对象的理解
  3. JavaScript onblur 和 onkeyup事件用法
  4. Hichart 资料收集
  5. 【uoj128】 NOI2015—软件包管理器
  6. Python模块(radom)
  7. [转]What you need to know about transimpedance amplifiers – part 1
  8. QScrollArea可以帮助我们实现让一个widget的内容带有滚动条(QWidget里内置QScrollArea,QScrollArea里再内置其它QWidget)
  9. 线程——委托InvokeRequired和Invoke
  10. ueditor使用中的坑
  11. linux 安装java环境(jdk)
  12. LV在系统重启后不能自动激活(boot.lvm&amp;after.loca)
  13. Android决议具体解释
  14. C# Excel嵌入到Winform
  15. Java中数组的遍历
  16. 自兴人工智能------------python入门基础(2)列表和元祖
  17. WIN下的Django安装
  18. Java中&amp;0xFF是什么意思?计算机的原码、补码和反码
  19. 20180821ImportContactFromExcel
  20. pri 知识点

热门文章

  1. Codeforces Round #246 (Div. 2) D. Prefixes and Suffixes
  2. 混合图(dizzy.pas/cpp/c)
  3. doT js模板入门 3
  4. Oracle移除表空间的数据文件 ora-00604 ora-01426
  5. oracle 创建暂时表
  6. HDU 5289 Assignment (二分+区间最值)
  7. Codeforces Round #250 (Div. 1) D. The Child and Sequence 线段树 区间求和+点修改+区间取模
  8. html 转word
  9. bzoj3550
  10. 44. Ext信息提示对话框