应该怎么做才能使其在 IE7 中工作?

What should be done to make it working in IE7?

此代码在现代浏览器中运行良好。应该怎么做才能使其在 IE7 中工作?

function paymentCheck() {
            var obj = {
                            'type' : 'car',
                            'year' : 2008,
                            'make' : 'Dodge',
                            'model' : 'Avenger',
                            'payments' : 'in process',
                            'paid' : 13286,
                            'toBePaid' : 34856,
                            'paymentsLeft' : 24,
            }              

            return (obj.toBePaid - obj.paid) / obj.paymentsLeft;
}

var button = document.getElementById("calcButton");
button.addEventListener("click", function(){
            alert(paymentCheck());
}, false);

IE7 没有addEventListener 功能。你应该使用attachEvent,但这是IE8及以下版本,其他浏览器不支持! 参见 MSIE and addEventListener Problem in Javascript?

Akxe 提到 IE7 不支持 addEventListener 功能。您可以检查浏览器是否支持 addEventListener,如果不支持,请使用 attachEvent 改为:

// check if the browser supports 'addEventListener'
if(document.addEventListener){ 
    button.addEventListener("click", function(){
        alert(paymentCheck());
    });
} else {
    button.attachEvent("click", function(){
        alert(paymentCheck());
    });
};