【发布时间】:2026-02-14 08:30:02
【问题描述】:
我定义了一个 IIFE,并在其中定义了一个功能对象及其原型,它用 DomContentLoaded 包装,但我无法在 html 中使用它。以下是js文件中的代码:
const DomLoad = (function(){
function ChangeData() {
this.active = 'blue-color';
}
ChangeData.prototype.change = function(imagename, idname, colorname) {
document.getElementById(this.active).classList.remove("active");
this.active = idname;
document.getElementById(this.active).className += " active";
document.getElementById("text").innerHTML = colorname;
document.getElementById("carimage").src='assets/'+imagename+'.jpg';
};
var changedata = new ChangeData();})();document.addEventListener("DOMContentLoaded", DomLoad);
以下是 HTML 文件中的代码:
<div class="color-circle" id="grey-color" onclick="changedata.change('grey','grey-color', 'Grey')"></div>
报错:
TypeError:changedata 未定义
【问题讨论】:
标签: javascript dom dom-events iife