Страница ошибки ввода события, когда я долго нажимаю клавишу на клавиатуре - PullRequest
0 голосов
/ 20 октября 2019

проблема у меня во входном событии, когда я пишу свою электронную почту, у меня есть функция с входным событием, которая проверяет, является ли электронная почта действительной или нет. Поэтому, когда он недействителен, я использую innerHTML для показа сообщения о недействительной электронной почте. Проблема в том, что, когда я долго нажимаю клавишу на клавиатуре, каждый раз выполняется мое остальное, и моя страница замедляется и выдает ошибку! Как я могу решить эту проблему, пожалуйста? Это мой код JS:

let newsletter_email = document.getElementById('newsletter_email');

newsletter_email.addEventListener('input', function(e) {
    let info_newsletter = document.getElementById('info_newsletter');

    if(confirmEmail(newsletter_email.value)){
        info_newsletter.innerHTML = "<h6 style='color: rgb(1, 196, 1);'>E-Mail valide !</h6>";
        let interval_valid_email = setTimeout(function() {
            info_newsletter.innerHTML = "";
        }, 2000);
    }else {
        info_newsletter.innerHTML = "<h6 style='color:red;'>E-Mail non valide !</h6>";
        e.preventDefault();
    }
});

Спасибо за помощь!

1 Ответ

0 голосов
/ 20 октября 2019

Я советую вам использовать событие размытия

Пример:

newsletter_email.addEventListener('blur', (e) => {
    // Logic to check the email
});

Таким образом, в этом случае вы проверяете электронную почту, когда фокус теряется. Бесполезно проверять электронную почту, когда пользователь нажимает один символ.

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