如何获得输入有焦点或不使用jquery [重复]
Posted
技术标签:
【中文标题】如何获得输入有焦点或不使用jquery [重复]【英文标题】:How to get input has focus or not using jquery [duplicate] 【发布时间】:2011-10-05 22:35:04 【问题描述】:如何使用jquery获取html的输入标签是否有焦点
如果输入、图像等标签具有焦点,keydown 事件将适用于表单。但它不会工作,它的重点是形式,而不是任何标签,如输入、图像等。 我该如何解决这个问题。 请帮忙 提前致谢
$('#title').focusout(function()
if($(document.activeElement).is(":focus"))
alert('focus');
else
alert('not focus');
);
// 这不起作用
【问题讨论】:
查看这里:***.com/questions/967096/… 【参考方案1】:你可以这样做
if ($("#id").is(":focus"))
alert('focus');
【讨论】:
$('#title').focusout(function() if($("#MakeTicket/title").is(":focus")) alert('focus'); else alert('not focus'); $('#Department').focus(); return false; ); $('#title').focusout(function() if($("#MakeTicket/title").is(":focus")) alert('focus'); else alert('not focus'); $('#Department').focus(); return false; );但这行不通。我的代码有什么问题 不适用于运行后添加到 DOM 的动态元素...【参考方案2】:使用 jquery 更容易检查。 使用jquery你可以这样做
if($"#div/inputtocheck").is(":focus"))
//do something u want if it is in focus
:focus
如果 div 处于焦点位置,则返回 true,如果不处于焦点位置,则返回 false
【讨论】:
$('#title').focusout(function() if($("#MakeTicket/title").is(":focus")) alert('focus'); else alert('not focus'); $('#Department').focus(); return false; );但这行不通。我的代码有什么问题 我无法理解您的代码,请在您的问题中发布编辑。这将使您的代码更具可读性。【参考方案3】:您可以使用document.activeElement。
【讨论】:
我试过这个,但这也行不通 这是 jQuery 使用的,我建议使用它,因为它比 jQuery 对象和选择器更有效。如果你不能让它直接工作,那么 jQuery 也无济于事。 document.activeElement 是 W3C Element Traversal Specification 的一部分,它相当新,所以一些浏览器不支持它。以上是关于如何获得输入有焦点或不使用jquery [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Jquery 使用户从确认框中的输入框中取消焦点?
如何使 jQuery UI 自动完成,以便当用户开始输入其他内容时进入模态?
如何使tabIndex(输入字段)在页面加载的顶部开始 - Jquery