Засчитывается ли наведение на заблокированную кнопку?

Есть небольшой код:

let log = document.getElementById('login'); // input с логином
let pas = document.getElementById('password'); // input с паролем
let but = document.getElementById('button'); // кнопка (логично, да?)

but.addEventListener('mouseover', function() {
    if (log.value == '' && pas.value == '') {
        but.disabled = true;
    } else {
        but.disabled = false;
    }
})

Хочу сделать такую плюшку, типо, пока не будет введён и логин и пароль, кнопка должна быть заблокирована. Но как это сделать? Я начал перебирать варианты с EventListener, т.к. функция без него будет происходит один раз и выдавать один результат. Сначала подумал, что можно создать переменную, отвечающую за всю область (body) и по нажатию на любую точку отслеживать условия функции. Но при таком обстоятельстве, на каждый клик, кнопка блокируется и разблокируется.

Пришла мысль сделать Event наведения мышки на кнопку. Если ничего не введено и кнопка не заблокирована изначально (изначально будет блокнута, но потом), то при наведении, она блокируется, тут всё ок. Но вот обратно, если введён и login и password, она не разблокируется. Получается, если кнопка блокнута, она не воспринимает наведение мышкой?

P.S. В гугле не нашёл ответа(


Ответы (1 шт):

Автор решения: Awake

Кнопка не регистрирует наведения (mouseover), когда она заблокирована. Создал другую логику. При наведении проверять, заполнены ли поля "Логин" и "Пароль", блокировать, если одно из полей не введено и на keyUP в input'е логина и пароля делать проверки, заполнен ли соседний input и только тогда разблокировать кнопку.

→ Ссылка