首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >键入不工作于iPad但正在处理iPhone时的DOM操作

键入不工作于iPad但正在处理iPhone时的DOM操作
EN

Stack Overflow用户
提问于 2020-07-17 19:09:03
回答 1查看 73关注 0票数 0

有几个关于这个问题的问题,但没有人回答这个问题。

基本上,对于我正在处理的这个应用程序。当用户注册时,用户必须在一个<input>字段中输入密码,然后在另一个输入字段中重新键入密码。

我使用JavaScript DOM操作来做两件事:

如果已确认的密码与初始password.

  • Change不同,则
  1. 警告用户,在密码相同时,falsetrue按钮的禁用属性。

为此,我在用户确认密码的输入字段中添加了一个事件侦听器。在此事件中,侦听器中有一个条件语句,用于评估两个密码字段是否相同。此事件侦听器在我的Chrome浏览器和我的oninput 6 Safari浏览器上与onkeyup和iPhone一起工作。它不适用于我的iPad Safari浏览器(我认为它是一个较旧的版本)。

代码语言:javascript
运行
复制
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");
        }
    });

首先,对于这个问题我应该使用什么事件侦听器(如果有)?如果没有,我还应该考虑其他的途径吗?

最后,有没有更好的方法来写这篇文章?看上去有点笨重而不业余。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-07-17 22:29:56

请参阅iOS 9 - keyup event not firing

对于触摸屏设备,通常keypress的工作频率更高,但有人建议将相同的函数添加到keyupkeypress中,但是如果它适合您,keydown应该是可以的,所以

代码语言:javascript
运行
复制
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");}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62960382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档