javascript - 当我长按键盘上的一个键时,事件输入错误页面
问题描述
我遇到的问题是在一个输入事件中,当我写我的电子邮件时,我有一个输入事件的功能,它检查电子邮件是否有效。因此,当无效时,我使用 innerHTML 来显示消息无效电子邮件。问题是当我长按键盘上的一个键时,每次都会执行我的 else 并且我的页面变慢并出现错误!请问我该如何解决这个问题?这是我的 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();
}
});
谢谢你的帮助!
解决方案
我建议你使用模糊事件
例子:
newsletter_email.addEventListener('blur', (e) => {
// Logic to check the email
});
因此,在这种情况下,您在失去焦点时检查电子邮件。当用户按一个字符时检查电子邮件没有用。
推荐阅读
- sql - where 子句错误 - WHERE INSpecialDateRange
- google-chrome - 在同步的 Google Chrome 浏览器的书签栏上添加自定义书签
- nginx - Nginx 模块直播(快照)
- javascript - 从 discord.js 中的 ana 数组中删除 args
- python - 如何将 QTextEdit 设置为像终端一样缩进?
- blockchain - Corda allowedToSeeCriteria 过滤器总是返回空的状态
- nginx - Nginx 反向代理到 IIS 网络服务器
- c# - 在 Visual Studio C# 中移动图像
- r - 使用 spark_apply 计算纬度/经度之间的距离
- azure-active-directory - 我们可以使用 Azure AD 并向客户端发布我们自己的令牌吗?