0

我创建了一个名为removeValue删除表单域值的方法。每次用户单击它时,我都会在要执行的函数中放入 onclick 事件,在 html 中,它会给出此错误:“无法引用...的变量”(类似的东西)。这是为什么?

我认为关键字this总是指被调用的对象,如果我this.value ="";直接在 HTML 中编写,它可以工作。这是为什么?

function removeValue () {  
    if (this.value != "") {
        this.value = ""; 
    }
}
4

1 回答 1

2

this在这种情况下指的是窗口对象。将您的元素传递给这样的函数:

function removeValue(element) {
    element.value = '';
}

<input onclick="removeValue(this)" type="text">

我认为如果将函数绑定到onfocus事件会更好,因为这样在使用选项卡切换到输入字段时也会调用它。

于 2012-08-05T14:41:51.790 回答