我想写一个函数,这个函数可以检测焦点是否在某个元素上。如果焦点在元素上,我调用onfocus()
函数,如果没有在元素上,我做没事。我怎么能这样做?
答案 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 强>
您可以使用blur
和focus
函数来查看该特定元素是否已被关注。