此代码适用于现代浏览器 - 但不适用于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);
答案 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;
}
}
祝你好运!我觉得和你在一起。