为了账号安全,请及时绑定邮箱和手机立即绑定

在JavaScript中冷调用blur()函数

在JavaScript中冷调用blur()函数

慕斯王 2024-01-18 14:34:26
我有一条线document.getElementById("firstName").addEventListener("blur", validateField);和 :validateField = (event) =>{    const el = event.target;}现在我想使用该行中的相应元素调用 validateField() 函数form.addEventListener('submit', function(event)。document.getElementById("firstName").blur(); // This is not getting called.但是冷调用blur() 不起作用。我想做的是在调用表单但仍然无效时填充引导程序 is-invalid 消息。el.classList.add('is-invalid');el.nextElementSibling.innerHTML = "This field is required";尝试避免使用 jQuery,因为我可能会将其切换到 bootstrap 版本 5。
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

我确实认为从技术上讲,提交表单会失去焦点,除非用户按下回车键来提交。另一种方法也许是,您可以尝试专注于其他事情,而不是模糊特定的事物!


以下代码对我有用。


document.getElementById("frm").addEventListener('submit', function(event) {

  event.preventDefault();

  document.getElementById("firstName").blur();

});

<form action="" id="frm">

  <input type="text" id="firstName" />

  <input type="submit" value="Press Enter" />

</form>

但对于替代解决方案:


document.getElementById("frm").addEventListener('submit', function(event) {

  event.preventDefault();

  document.getElementById("frm").focus();

});

#frm:focus {

  outline: none;

  box-shadow: none;

}

<form action="" id="frm" tabindex="0">

  <input type="text" id="firstName" />

  <input type="submit" value="Press Enter" />

</form>


查看完整回答
反对 回复 2024-01-18
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信