我有一个带有多个按钮的页面,每个按钮都与加载功能相关联,用于打开一个新窗口,然后将其自定义为在页面加载后单击的按钮。
我一直在将选项存储在对象中,并在JList
下使用了一个选项。但是,一旦页面加载,显示的文字会显示currentTile
,但我还没有在undefined
中定义currentTile
吗?
load()
在html中正如这样调用 function tile(question, answer, points) {
this.question = question;
this.answer = answer;
this.points = points;
}
var currentTile = {};
var testTile = new tile("How are you?", "Fine", 200);
function load(tile) {
currentTile = tile;
window.open("question.html", "_self");
}
function setText() {
document.getElementById("qSlot").innerHTML = currentTile.question;
document.getElementById("value").innerHTML = "" + currentTile.points + "";
}
:
load()
提前致谢。
答案 0 :(得分:1)
您使用的window.open("question.html", "_self");
与重新加载页面一样好(假设您当前的页面为question.html
)。因此,当页面重新加载时,您的JS代码将重新执行,包括语句var currentTile = {};
。这就是undefined
和currentTile.question
获得currentTile.points
的原因。
而不是直接调用window.open("question.html", "_self");
来调用setText()
,而是会正确显示文字。 (你现在在哪里打电话给setText()
?)。