有一个小代码:
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 遍历选项,因为 没有它的函数将出现一次并产生一个结果。起初我认为可以创建一个负责整个区域(主体)的变量,并通过单击任意点来跟踪函数的条件。但是在这种情况下,每次点击,按钮都会被阻塞和解锁。
这个想法产生了一个将鼠标指向按钮的事件。如果没有输入任何内容并且按钮最初没有被阻止(最初它会被阻止,但随后会被阻止),那么在悬停时,它被阻止,一切正常。但是,如果同时输入了登录名和密码,则不会解锁。原来,如果按钮被挡住了,它不会感知到鼠标悬停?
PS 我在谷歌上找不到答案
该按钮在禁用时不会注册鼠标悬停。创造了不同的逻辑。悬停时,检查“登录”和“密码”字段是否填写,如果其中一个字段未输入,则阻止,然后在登录名和密码输入中的 keyUP 上,检查相邻输入是否已填写,然后才能解锁按钮。