使 JavaScript 特定的代码在 IE7 中工作

Make JavaScript specific code work in IE7

本文关键字:IE7 工作 代码 JavaScript      更新时间:2023-09-26

此代码适用于现代浏览器 - 但在IE7中不起作用。有人可以帮助我解决问题的地方吗:

function makePay() {
            var obj = {
                            'product' : 'speakers',
                            'paid' : 300,
                            'toBePaid' : 560,
                            'paymentsLeft' : 3,
            }              
            return (obj.toBePaid - obj.paid) / obj.paymentsLeft;
}
var btn = document.getElementById("result");
btn.addEventListener("click", function(){
            alert(makePay());
}, false);

IE 7 失败的原因是 addEventListener 方法。

早于 9 的 IE 版本具有自己的专有方法来附加事件处理程序。您需要检查是否支持addEventListener,如果不支持,请检查attachEvent并改用它。

示例(取自 https://stackoverflow.com/a/6927800/1387396):

function addEvent(evnt, elem, func) {
   if (elem.addEventListener)  // W3C DOM
      elem.addEventListener(evnt,func,false);
   else if (elem.attachEvent) { // IE DOM
      elem.attachEvent("on"+evnt, func);
   }
   else { // No much to do
      elem[evnt] = func;
   }
}

祝你好运!我和你在一起。