当前位置:首页 > JavaScript

js实现onblur

2026-02-01 01:32:16JavaScript

实现 onblur 事件的方法

在 JavaScript 中,onblur 事件在元素失去焦点时触发。可以通过多种方式实现该事件监听。

内联 HTML 属性方式

直接在 HTML 元素上添加 onblur 属性:

<input type="text" onblur="console.log('Input lost focus')">

DOM 属性绑定方式

通过 JavaScript 代码为元素设置 onblur 属性:

document.getElementById("myInput").onblur = function() {
    console.log("Input lost focus");
};

addEventListener 方法

使用标准的事件监听方法,支持添加多个事件处理器:

document.getElementById("myInput").addEventListener("blur", function() {
    console.log("Input lost focus via addEventListener");
});

注意事项

  • onbluraddEventListener('blur') 的主要区别在于前者会覆盖已有处理器,后者允许多个处理器共存
  • 表单验证是 onblur 事件的常见应用场景
  • 事件冒泡阶段触发,可以通过 event.target 获取失去焦点的元素

实际应用示例

为表单输入框添加失去焦点验证:

const emailInput = document.getElementById("email");
emailInput.addEventListener("blur", validateEmail);

function validateEmail(event) {
    const email = event.target.value;
    if (!email.includes("@")) {
        event.target.style.borderColor = "red";
    } else {
        event.target.style.borderColor = "";
    }
}

浏览器兼容性

所有现代浏览器都支持 onblur 事件,包括:

js实现onblur

  • Chrome
  • Firefox
  • Safari
  • Edge
  • Internet Explorer 9+

对于更复杂的场景,可以考虑结合 focusout 事件,它会在元素或其子元素失去焦点时触发。

标签: jsonblur
分享给朋友:

相关文章

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…