当前位置: 首页 > news >正文

html的onBlur

onBlur 是 HTML 元素的一个事件属性,当元素失去焦点时触发。以下是详细解释:

核心概念

  1. 失去焦点(Blur)​​:当用户选中页面上的某个交互元素(如输入框)后,该元素即获得焦点(focus);当用户点击其他地方或切换到其他元素时,该元素就会失去焦点(blur)。

  2. 作用场景​:常用于表单验证、实时保存数据等场景(例如用户填写完一个输入框后立即检查内容是否合法)。


基础语法

在 HTML 标签中直接定义:

<input type="text" onblur="myFunction()">

通过 JavaScript 绑定事件:

document.getElementById("myInput").addEventListener("blur", () => {console.log("输入框失去焦点!");
});

典型使用场景

1. 输入验证
<input type="email" id="email" onblur="validateEmail()">
<script>function validateEmail() {const email = document.getElementById("email").value;if (!email.includes("@")) {alert("请输入有效的邮箱地址!");}}
</script>

(用户离开邮箱输入框时自动验证格式)

2. 实时保存数据
<textarea id="note" onblur="saveNote()"></textarea>
<script>function saveNote() {const content = document.getElementById("note").value;localStorage.setItem("userNote", content); // 保存到本地存储}
</script>

(用户离开文本框时自动保存内容)


注意事项

  1. onchange 的区别​:

    • onchange:值被修改 ​​ 失去焦点后触发。
    • onblur:​只要失去焦点就触发,无论值是否改变。
  2. focus 事件对应​:

    inputElement.addEventListener("focus", () => {console.log("获得焦点");
    });inputElement.addEventListener("blur", () => {console.log("失去焦点");
    });
  3. 表单提交​:onblur 触发时机在表单提交(submit)之前。


兼容性

所有主流浏览器(Chrome/Firefox/Safari/Edge)均支持 onblur 事件,包括移动端浏览器。

⚠️ ​替代方案​:现代开发推荐使用 addEventListener('blur', ...) 替代 HTML 标签中的 onblur 属性,以实现更好的代码分离。

http://www.lryc.cn/news/605331.html

相关文章:

  • 洛谷刷题7.30
  • 外键列索引优化:加速JOIN查询的关键
  • 【Arch-Linux,hyprland】常用配置-已实验成功指令大全(自用)(持续更新)
  • IBM Watsonx BI:AI赋能的下一代商业智能平台
  • 2.3.1-2.3.5获取资源-建设团队- 管理团队-实施采购-指导
  • Effective C++ 条款11:在operator=中处理“自我赋值”
  • ros2 launch文件编写详解
  • Python 程序设计讲义(46):组合数据类型——集合类型:集合间运算
  • 【百卷编程】Go语言大厂高级面试题集
  • 如何修改VM虚拟机中的ip
  • 2024 年 NOI 最后一题题解
  • 《汇编语言:基于X86处理器》第10章 复习题和练习
  • 歌尔微报考港交所上市:业绩稳增显韧性,创新引领生态发展
  • S3、SFTP、FTP、FTPS 协议的概念、对比与应用场景
  • openwrt中br-lan,eth0,eth0.1,eth0.2
  • 第2章 cmd命令基础:常用基础命令(3)
  • cmake_parse_arguments()构建清晰灵活的 CMake 函数接口
  • G9打卡——ACGAN
  • 获取TensorRT引擎文件(.engine)版本号的几种方法
  • 2022 年 NOI 最后一题题解
  • 数据集相关类代码回顾理解 | DataLoader\datasets.xxx
  • 【高等数学】第七章 微分方程——第四节 一阶线性微分方程
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step4—时间同步(Chrony)
  • Spark的宽窄依赖
  • 《设计模式之禅》笔记摘录 - 11.策略模式
  • uniapp-vue3来实现一个金额千分位展示效果
  • uniapp实现微信小程序导航功能
  • 思途JSP学习 0730
  • LeetCode 刷题【22. 括号生成】
  • Winform 渐变色 调色板