javascript - 在blur()中如何确定哪个元素获得焦点?

标签 javascript jquery jquery-events

是否可以跨浏览器找到当前获得焦点的元素?

在 IE 中,可以执行 $(x).blur(function(evt) {alert('Focus gets to ' + evt.toElement.id); }); 并且我需要在其他浏览器中执行类似的操作。

作为替代方案,如果可能的话,我可以执行 setTimeout 然后调查当前聚焦的元素,但我也不知道该怎么做。

最佳答案

您只需记住变量中关注的内容即可。 JS 中的变量作用域可以跨浏览器工作:)

(function($){

var focused;
$(commonParentForElements).on('focus','input',function(e){
  focused = e.target;
}).on('blur','input',function(e){
  //do stuff with focused
  //when done, clean up
  focused = null;
})

})(jQuery);

关于javascript - 在blur()中如何确定哪个元素获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4259904/

相关文章:

jquery - 如何通过jquery查找表中第一个元素的索引?

jquery - 当我在显示 :none and display: inline-block 之间添加切换时,CSS3 过渡不起作用

javascript - 隐藏每个项目的内容

javascript - 在表单元素上使用 jQuery 模拟按键

javascript - Html 默认选择选项 - 不同的颜色 - 不适用于当前的 Jquery

node.js - 在 Atom 编辑器中使用外部 Node 安装的 JS 库

php - 如何从 mysql 读取标记信息并使用 AJAX 在谷歌地图上动态显示这些标记?时间问题

javascript - 在事件当天通过终端启动 Mac 应用程序

jquery - 获取触发函数的事件

javascript - 具有多个下拉菜单的子菜单关闭延迟