Поведение java-скрипта не говорит о том, что ввод не определен

1

когда я писал код, чтобы сделать 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

  • 0
    Я не думаю, что первая версия действительно работает так, как вы думаете.
  • 0
    placeholder уже скрываются при вводе пользователем.
Показать ещё 17 комментариев
Теги:
javascript-events

2 ответа

0
Лучший ответ

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

0

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

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

  • 0
    может быть, он находится в библиотеке Caz, я предпросмотрю весь свой код и пытаюсь найти ввод с помощью Ctrl + F
  • 0
    и я не использовал какую-либо библиотеку, или это библиотека по умолчанию, и это не объясняет, почему она все еще работает, если я сделаю комментарий к ней ... держатель стека исчезнет, даже если пользователь сосредоточится на этом ... я хочу прекратить фокус с работы, если пользователь ничего не написал

Ещё вопросы

Сообщество Overcoder
Наверх
Меню