我创建了一个名为removeValue
的方法来删除formfields的值。每次用户点击它时,我都会在onclick事件中输入要执行的函数,在html中,它会出现这样的错误:“无法引用变量......”(类似的东西)。那是为什么?
我认为关键字this
总是引用被调用的对象,如果我直接在HTML中编写this.value ="";
,它就可以工作。那是为什么?
function removeValue () {
if (this.value != "") {
this.value = "";
}
}
答案 0 :(得分:2)
this
指的是窗口对象。将您的元素传递给这样的函数:
function removeValue(element) {
element.value = '';
}
<input onclick="removeValue(this)" type="text">
我认为将函数绑定到onfocus
事件会更好,因为当使用制表符切换到输入字段时也会调用它。