使JavaScript特定代码在IE7中工作

时间:2015-01-29 19:30:00

标签: javascript function

此代码适用于现代浏览器 - 但不适用于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);

1 个答案:

答案 0 :(得分:2)

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;
   }
}
祝你好运!我觉得和你在一起。

相关问题