当前位置:首页 > JavaScript

js实现onblur

2026-03-13 23:42:31JavaScript

实现 onblur 事件的方法

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

方法一:HTML 属性直接绑定

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

方法二:addEventListener 动态绑定

const inputElement = document.getElementById('myInput');
inputElement.addEventListener('blur', function() {
  console.log('Input lost focus');
});

方法三:通过元素属性赋值

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

实际应用示例

表单验证示例

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

function validateEmail() {
  const email = this.value;
  if (!email.includes('@')) {
    this.style.borderColor = 'red';
  } else {
    this.style.borderColor = 'green';
  }
}

动态显示/隐藏元素

js实现onblur

const searchBox = document.getElementById('search');
const resultsPanel = document.getElementById('results');

searchBox.addEventListener('focus', () => {
  resultsPanel.style.display = 'block';
});

searchBox.addEventListener('blur', () => {
  setTimeout(() => {
    resultsPanel.style.display = 'none';
  }, 200);
});

注意事项

  • blur 事件会冒泡,而 focusout 事件不会
  • 移动端设备上可能需要额外处理触摸事件
  • 某些情况下可能需要使用 event.stopPropagation() 阻止事件传播

以上方法适用于现代浏览器,包括 IE9+。对于更复杂的场景,可能需要结合其他事件如 focusfocusin 等一起使用。

标签: jsonblur
分享给朋友:

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现刷新

js实现刷新

刷新当前页面 使用 location.reload() 方法可以强制刷新当前页面。该方法接受一个布尔参数,默认为 false,表示从缓存中加载页面;设为 true 时强制从服务器重新加载。 // 从…

vue.js实现拍照

vue.js实现拍照

Vue.js 实现拍照功能 在 Vue.js 中实现拍照功能通常需要结合浏览器的媒体 API(如 getUserMedia)和 Canvas 元素。以下是实现步骤: 准备工作 确保项目已安装 Vue…