如何在JS中检测焦点改变事件

How to detect focus changed event in JS?

本文关键字:焦点 改变 事件 检测 JS      更新时间:2023-09-26

我想写一个函数,这个函数可以检测焦点是否在某个元素上。如果焦点在元素上,我调用onfocus()函数,如果焦点不在元素上,我什么都不做。我该怎么做呢?

有很多不同的方法。

这里有两个例子:

解决方案# 1:

您可以使用简单的内联onblur函数来查看某个元素是否被聚焦了。这可能是最简单的方法了。

<input type="text" onblur="javascript:alert('You have focused out');" />

解决方案2:

HTML:

<input type="text" />
JQuery:

var selectedInput = null;
$(function() {
    $('input').focus(function() {
        selectedInput = this;
    }).blur(function(){
        selectedInput = null;
        alert("You have focused out");
    });
});

如果需要多个,可以使用:

$('input, textarea, select').focus(function() {

信用

您可以使用blurfocus函数来查看某个元素是否集中。