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

检查DOM元素是否具有焦点

如何解决《检查DOM元素是否具有焦点》经验,为你挑选了0个好方法。

我有一个灯箱文本框,使用来自ASP.NET UpdatePanel的AJAX调用显示.当显示灯箱时,我使用灯箱中文本focus()框的方法立即将焦点带到文本框.

在Firefox中,文本框获得焦点没有问题.在IE中,除非我使用,否则文本框不会获得焦点

setTimeout(function(){txtBx.focus()}, 500);

为了让焦点方法稍稍点火,在加载DOM元素之后,我假设.

问题是,在该行的正上方,我已经在检查该元素是否为null/undefined,因此如果该对象已经到达该行,则该对象已经存在,它只是不允许自己立即获得焦点原因.

显然设置一个计时器来"修复"这个问题并不是解决这个问题的最好或最优雅的方法.我希望能够做类似以下的事情:

var txtBx = document.getElementById('txtBx');

if (txtPassword != null) {
    txtPassword.focus();
    while (txtPassword.focus === false) {
        txtPassword.focus();
    }
}

有没有办法告诉一个文本框有焦点所以我可以做上面的事情?

或者我是以错误的方式看待这个?

编辑
为了澄清,我没有在页面加载时调用代码.该脚本在页面的顶部,但它是一个在ASP.NET的异步回发完成后,页面加载时不会被调用函数中.

因为这是在Ajax更新之后显示的,所以DOM应该已经加载了,所以我假设jQuery的$(document).ready()事件在这里没有用.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有