когда я писал код, чтобы сделать placeholder и скрыть его при записи пользователя, я сделал ошибку и использовал ввод, который не был определен в файле JavaScipt, и он отлично работает:
var input4=document.getElementById("Message");
var place4=input4.placeholder;
input4.onfocus= function()
{
// this is input
if(input.text!="")
input4.placeholder="";
}
input4.onblur= function()
{
input4.placeholder=place4;
}
то я пишу тот же код и использую свою определенную переменную "input4", и она работает как разница:
var input4=document.getElementById("Message");
var place4=input4.placeholder;
input4.onfocus= function()
{
// this what i forget to do,use input4 that i defined
if(input4.textContent!="")
input4.placeholder="";
}
input4.onblur= function()
{
input4.placeholder=place4;
}
мой вопрос в том, как JavaScript знал, что input
вводится пользователем в моем элементе Message
? это небольшой проект: введите ссылку проекта и посмотрите
pm: я использую jsfiddle
Поскольку атрибут placeholder
автоматически используется браузером, для современных браузеров нет необходимости очищать местозаполнитель и выполнять сброс. Браузер автоматически сделает это, когда вход пуст, и очистите его, как только пользователь добавит значение. Таким образом, вы можете удалить весь свой java-скрипт, и заполнители будут работать правильно - ответил (Patrick Evans) в комментарии
Ваш скрипт потерпит неудачу, если ввод не определен, скорее всего, эта переменная определена где-то в вашем коде или сторонней библиотеке, которую вы используете.
Попробуйте найти его в файлах проекта.
placeholder
уже скрываются при вводе пользователем.