我得到this.refresh()在每次使用此函数时都不是错误日志中的函数,但它工作正常。
另外,当我第一次点击这个函数时,this.value = undefined。当我在此表单和其他所有表单中再次单击该函数时,该值将使用之前的值填充。
我可能做错了什么?
如何更有效地编写此功能?
我仍然不太明白如何使用this.value来捕获和存储数组中的值。
function askGender(x) {
response = "<select class=widgetstyle onClick=_setGender(this.value)><option value=Female>Female<option value=Male>Male</select>";
characters[x].setGender(response);
if (this.gender != 0) {
response = this.gender;
this.gender = 0;
characters[x].setGender(response);
}
}
function _setGender(x) {
this.gender = x;
this.refresh();
}
答案 0 :(得分:0)
response = "<select class=widgetstyle onClick=_setGender(this.value)><option value=Female>Female<option value=Male>Male</select>";
看看你的回答。您可以在单击处理程序中设置性别。您对this
如何运作的误解。
this
中的 askGender
引用您的角色对象。当onClick处理程序被称为this
时,将引用setGender
方法中的DOM对象。
对于记录.refresh
是他的Character对象的方法。
整个代码很大,需要彻底调试。看起来您正在编辑开源代码并尝试以不适合使用的方式使用它。