我有一个搜索框(文本框),我想在内部点击时清除它的内容。 (某种水印。在这种情况下,水印控制不利于我)。 我正在使用“onKeyDown”事件来清除内容:
function clearTbSearch(tbSearch) {
if (tbSearch != null && tbSearch.value == '<%= TypeHereText %>') {
tbSearch.value = "";
tbSearch.style.color = "#000000";
}
return true;
}
它在IE和Chrome中运行良好,但在Firefox中需要3次(!!!)点击才能使其专注。第一次点击没有做任何事情。第二个清除文本框但不关注。第三次单击使光标聚焦。我尝试过任何事情......我很乐意提出任何建议...... 感谢!!!
答案 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=''" />