如何获得输入有焦点或不使用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

C# winform中咋实现当文本框获得焦点时,如何切换到中文输入法或英文输入法啊?

HTML:如何使一个网页打开时,第一个输入框自动获得焦点?

急!!!高手进,IE网页文本框不能获得焦点,无法输入,查看版本提示出错,