当前位置:首页 > 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实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…

js 实现递归

js 实现递归

递归的基本概念 递归是指函数直接或间接调用自身的过程。在JavaScript中,递归通常用于解决可以分解为相似子问题的问题,如阶乘、斐波那契数列、树形结构遍历等。 递归的实现要点 基线条件(Base…