JS
var _getElementById = document.getElementById;
//override document.getElementById
document.getElementById = function (id) {
var _elem = _getElementById(id);
eval("_elem." + name + " = fn");
return _elem;
};
它在IE9中工作正常,但现在IE10不支持此javascript。
我在此评论中遇到错误
var _elem = _getElementById(id);
页面加载时。
您对此有什么解决方案吗?
您收到此错误的原因,文档的 getElementById 方法似乎绑定到文档对象,但我不是 100% 确定为什么这只发生在 IE10 上,但您可以通过在文档对象中存储对原始函数的引用来轻松克服。看:
document._getElementById = document.getElementById;
//override document.getElementById
document.getElementById = function (id) {
var _elem = document._getElementById(id);
eval("_elem." + name + " = fn");
return _elem;
};
顺便说一句,这仍然会引发错误,因为没有定义名称变量。我想这是微不足道的。