有几个关于这个问题的问题,但没有人回答这个问题。
基本上,对于我正在处理的这个应用程序。当用户注册时,用户必须在一个<input>字段中输入密码,然后在另一个输入字段中重新键入密码。
我使用JavaScript DOM操作来做两件事:
如果已确认的密码与初始password.
false到true按钮的禁用属性。为此,我在用户确认密码的输入字段中添加了一个事件侦听器。在此事件中,侦听器中有一个条件语句,用于评估两个密码字段是否相同。此事件侦听器在我的Chrome浏览器和我的oninput 6 Safari浏览器上与onkeyup和iPhone一起工作。它不适用于我的iPad Safari浏览器(我认为它是一个较旧的版本)。
const password2 = document.getElementById("password2");
    const password = document.getElementById("password");
    password2.addEventListener("keyup", () => {
        if (password2.value === password.value) {
            document.getElementById("registerButton").className = "btn btn-success w-100 submit-button"
            document.getElementById("registerButton").disabled = false;
            document.getElementsByClassName("showAlert")[0].setAttribute("class", "hideAlert");
        } else {
            document.getElementById("registerButton").className = "btn btn-secondary w-100 submit-button disabled"
            document.getElementById("registerButton").disabled = true;
            document.getElementsByClassName("hideAlert")[0].setAttribute("class", "showAlert");
        }
    });首先,对于这个问题我应该使用什么事件侦听器(如果有)?如果没有,我还应该考虑其他的途径吗?
最后,有没有更好的方法来写这篇文章?看上去有点笨重而不业余。
谢谢!
发布于 2020-07-17 22:29:56
请参阅iOS 9 - keyup event not firing
对于触摸屏设备,通常keypress的工作频率更高,但有人建议将相同的函数添加到keyup和keypress中,但是如果它适合您,keydown应该是可以的,所以
const password2 = document.getElementById("password2");
const password = document.getElementById("password");
password2.addEventListener("keyup", eventify);
password2.addEventListener("keypress", eventify);
//OR simply
password2.addEventListener("keydown", eventify);函数eventify() { if (password2.value === password.value) { document.getElementById("registerButton").className = "btn btn--成功的w-100提交-按钮“”document.getElementById("registerButton").disabled = false;document.getElementsByClassName("showAlert").setAttribute("class",“hideAlert);} document.getElementById("registerButton").className = "btn btn-备用w-100禁用提交按钮”document.getElementById("registerButton").disabled = true;document.getElementsByClassName("hideAlert").setAttribute("class","showAlert");}
https://stackoverflow.com/questions/62960382
复制相似问题