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

时间:2014-07-09 02:07:47

标签: javascript

我想写一个函数,这个函数可以检测焦点是否在某个元素上。如果焦点在元素上,我调用onfocus()函数,如果没有在元素上,我做没事。我怎么能这样做?

1 个答案:

答案 0 :(得分:8)

有很多不同的方法可以做到这一点。

以下是两个例子:

解决方案#1:

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

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

<强> Demo

解决方案#2:

<强> HTML:

<input type="text" />

<强> JQuery的:

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

<强> Demo

如果你想要多个,你可以使用:

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

<强> Credits

您可以使用blurfocus函数来查看该特定元素是否已被关注。