Я рассматривал это в течение последних нескольких часов и не могу реально добиться того, что я ищу. Я в настоящее время имеют следующие два входа:Очистка полей ввода с помощью JavaScript
<input type="text" id="username" value="USERNAME" onfocus="inputFocused(this)" onblur="inputBlurred(this)" />
<input type="password" id="password" value="PASSWORD" onfocus="inputFocused(this)" onblur="inputBlurred(this)" />
Первоначально входы текста серого цвета, и у меня есть следующие JavaScript функции OnFocus и ONBLUR:
var defaultInput = "";
function inputFocused(obj){
defaultInput = obj.value;
obj.value = "";
obj.style.color = "#000";
}
function inputBlurred(obj){
if(obj.value == ""){
obj.style.color = "#AAA";
obj.value = defaultInput;
}
}
Я пытаюсь придумать способ так что, как только я начну вводить в поле, оставьте поле, затем верните его, он не очистит вход снова (так как он будет содержать то, что пользователь набрал в нем). Я думал о достижении этого с помощью какой-то переменной, которую я могу чередовать между 1 и 0 в зависимости от состояния, но это казалось неаккуратным. Любое понимание этого новичка JS очень ценится.
Я хочу отличить значение при фокусировке только в первый раз, когда он фокусируется. Значение по умолчанию - USERNAME, а текст серый. В фокусе я хочу очистить значение и изменить цвет на черный для ввода пользователем. –
Обновлен фрагмент кода. Я думаю, что это делает то, что вы ищете. – jscharf
Мое решение точно jscharf –