Firefox:清除文本框值时失去焦点

时间:2011-10-16 15:13:44

标签: javascript asp.net html firefox textbox

我有一个搜索框(文本框),我想在内部点击时清除它的内容。 (某种水印。在这种情况下,水印控制不利于我)。 我正在使用“onKeyDown”事件来清除内容:

 function clearTbSearch(tbSearch) {

        if (tbSearch != null && tbSearch.value == '<%= TypeHereText %>') {

            tbSearch.value = "";


            tbSearch.style.color = "#000000";

        }
        return true;
    }

它在IE和Chrome中运行良好,但在Firefox中需要3次(!!!)点击才能使其专注。第一次点击没有做任何事情。第二个清除文本框但不关注。第三次单击使光标聚焦。我尝试过任何事情......我很乐意提出任何建议...... 感谢!!!

2 个答案:

答案 0 :(得分:1)

无需使用onkeydown事件,只需使用通用onfocus

var firstTime = true;
window.onload = function() {
    var input = document.getElementById("MyInput");
    input.onfocus = function() {
        if (!firstTime)
            clearTbSearch(this);
        firstTime = false;
    };
    input.focus();
};

这样它可以通过键盘焦点或鼠标焦点工作,例如点击文本框时。

答案 1 :(得分:1)

您可以尝试使其看起来更干净:

<input type="text" name="myInput" value="Your initial trademark" onfocus="this.value=''" />