当前位置:  开发笔记 > 编程语言 > 正文

使用JavaScript或jQuery检测哪个表单输入具有焦点

如何解决《使用JavaScript或jQuery检测哪个表单输入具有焦点》经验,为你挑选了2个好方法。

如何使用JavaScript或jQuery检测哪个表单输入具有焦点?

在函数中,我希望能够确定哪个表单输入具有焦点.我希望能够在直接的JavaScript和/或jQuery中执行此操作.



1> Juan Mendes..:

document.activeElement它已经在IE中得到了很长时间的支持,最新版本的FF和Chrome也支持它.如果没有焦点,则返回document.body对象.



2> Paolo Bergan..:

我不确定这是否是最有效的方法,但您可以尝试:

var selectedInput = null;
$(function() {
    $('input, textarea, select').focus(function() {
        selectedInput = this;
    }).blur(function(){
        selectedInput = null;
    });
});


对于大型DOM结构非常不合适,不支持动态添加元素,链接怎么样?感到惊讶的是这被选为正确的答案
大多数情况下,少于10个输入并且不动态添加它们?也许对于简单的表单,而不是复杂的Web应用程序.如果document.activeElement在所有A级浏览器中都可用,为什么你会使用更复杂,技术上更差的解决方案?此外,如果焦点转移到链接,这将给你一个误报.我只是警告OP.
@混沌.你是什​​么意思很难找到更好的解决方案?只需检查`document.activeElement`的值.看我的回答
@Juan Mendes:并非所有情况都必须是一个全面的解决方案.信不信由你,大多数时候你会有<10个输入,没有动态添加字段,这样就可以了.
推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有