【发布时间】:2012-11-24 17:39:09
【问题描述】:
无法将焦点移至控件,因为它不可见、未启用或属于不接受焦点的类型
jQuery 在 IE8 上抛出了上述错误。
我希望能够检测浏览器是否支持对禁用元素的关注(在我的情况下为 input),并将其存储在 jQuery.support 中。
我该怎么做?
简单的 JS 解决方案可以,但我不想使用浏览器嗅探(jQuery.browser 等)。
使用dispatchEvent() 会是一个好方法吗?
【问题讨论】:
-
你的意思是禁用
<input>元素? -
有什么理由不想在设置焦点之前检查控件是否可见并启用?
-
@ArsenMkrt 在其他浏览器中这工作正常。焦点触发了第三方的东西,所以我不想检查它是否可见。除非我进行浏览器嗅探,否则这将阻止在其他浏览器中的使用。另外,我更愿意在页面加载时进行检查并将结果存储在
jQuery.support。 -
您使用的是什么版本的 jQuery?我似乎无法让它在 1.8.2 中对禁用的元素抛出上述错误。
-
@KevinB 我使用的是 1.7.2。我会试试 1.8.2
标签: javascript jquery internet-explorer-8 focus feature-detection