Поведение java-скрипта не говорит о том, что ввод не определен - PullRequest
0 голосов
/ 12 июня 2018

когда я писал код, чтобы сделать заполнитель и скрыть его при записи пользователя, я допустил ошибку и использовал ввод, который не был определен в файле 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

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Поскольку атрибут placeholder автоматически используется браузером, для современных браузеров нет необходимости очищать заполнитель и выполнять сброс.Браузер автоматически отобразит его, когда ввод пуст, и очистит его, как только пользователь введет значение.Таким образом, вы можете удалить весь свой java-скрипт, и заполнители все равно будут работать правильно - ответ (Патрик Эванс) в комментарии

0 голосов
/ 12 июня 2018

Ваш сценарий завершится ошибкой, если ввод не определен, скорее всего, переменная определена где-то в вашем коде или в сторонней библиотеке, которую вы используете.

Попробуйте найти ее в файлах проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...