相关疑难解决方法(0)

IE 9和IE 10不能不时地将文本输入到输入文本框中

里面有一个iframe的网页.有时,iframe内的输入文本框控件被锁定/冻结.用户无法在其中输入文本.但文本框可以聚焦而不是褪色.没有代码可以禁用输入控件,但这并不总是发生.到目前为止,这只发生在IE 9和IE 10中.Firefox和Chrome都可以.

页面工作原理的简要说明如下:

  • 父页面上有一个按钮.通过单击它将从头开始构建一个iframe并显示它.这是通过Javascript完成的.

  • 同样,iframe上有一个按钮可以关闭它.通过单击它将
    从父页面的DOM中删除iframe.

如果您需要更多信息,请告诉我.提前致谢.

html javascript internet-explorer internet-explorer-9 internet-explorer-10

26
推荐指数
2
解决办法
2万
查看次数

检查DOM元素是否具有焦点

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

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

setTimeout(function(){txtBx.focus()}, 500);
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

if (txtPassword != null) {
    txtPassword.focus();
    while (txtPassword.focus === false) {
        txtPassword.focus();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

javascript internet-explorer

12
推荐指数
1
解决办法
2万
查看次数

对象不支持属性或方法"焦点"

我在tagsinput这个项目中使用我网站上的文本字段.

我正在尝试将焦点设置到文本字段,但它无法正常工作.它给了我以下错误:

Unhandled exception at line 37, column 9 in
LOCALDOMAIN-LINK-REMOVED
0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'focus'.
Run Code Online (Sandbox Code Playgroud)

line (37)这个错误指的是:

searchQueryTB.focus();
Run Code Online (Sandbox Code Playgroud)

我的完整代码是:

document.onload = FocusSearchQueryTextBox();

function FocusSearchQueryTextBox() {
    var searchQueryTB = document.getElementsByClassName("TBhandle0F7X");
    searchQueryTB.focus();
}
Run Code Online (Sandbox Code Playgroud)

标记:

<input type="text" value="" name="SearchQuery" id="tagsinput" class="TBhandle0F7X" />
Run Code Online (Sandbox Code Playgroud)

所以我假设它可能与文本字段实际上不合适的事实有关textfield,因为它是一个jQuery UI或tagsinput项目使用的东西?或许我错了,但到目前为止我还没有在谷歌上运气,并且在该项目的网站上似乎没有任何与此问题有关的内容.

我也在jQuery中试过这个,但正如预期的那样,它也没有用.同样的错误.

有什么错误或我如何解决这个问题的任何建议?

html javascript jquery dom

5
推荐指数
1
解决办法
1万
查看次数