2

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);

页面加载时。
你有什么解决办法吗?

4

1 回答 1

0

出现此错误的原因是文档的 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;
};

顺便说一句,这仍然会引发错误,因为未定义名称变量。我猜那是微不足道的。

于 2013-10-22T09:23:58.033 回答