【问题标题】:How to get input has focus or not using jquery [duplicate]如何获得输入有焦点或不使用jquery [重复]
【发布时间】:2011-10-05 22:35:04
【问题描述】:

如何使用jquery获取html的输入标签是否有焦点

如果输入、图像等标签具有焦点,keydown 事件将适用于表单。但它不会工作,它的重点是形式,而不是任何标签,如输入、图像等。 我该如何解决这个问题。 请帮忙 提前致谢

$('#title').focusout(function() { if($(document.activeElement).is(":focus")) { alert('focus'); } else { alert('not focus'); } }); // 这不起作用

【问题讨论】:

标签: javascript jquery html


【解决方案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 的一部分,它相当新,所以一些浏览器不支持它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
  • 2010-09-14
  • 2014-11-18
  • 2010-11-01
  • 2019-08-15
相关资源
最近更新 更多