当前位置:首页 > 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 属性绑定方式

js实现onblur

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

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

addEventListener 方法

js实现onblur

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

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 事件,包括:

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

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

标签: jsonblur
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('imag…

js实现图片放大缩小

js实现图片放大缩小

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

js 实现分页

js 实现分页

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

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…