0

无法将焦点移至控件,因为它不可见、未启用或属于不接受焦点的类型

jQuery 在 IE8 上抛出了上述错误。

我希望能够检测浏览器是否支持关注禁用元素(input在我的情况下),并将其存储在jQuery.support.

我该怎么做?

一个普通的 JS 解决方案会很好,但我不想使用浏览器嗅探(jQuery.browser等)。

使用dispatchEvent()会是一个好方法吗?

4

1 回答 1

4

我想你可以trycatch正是这样(关注一个禁用的元素),并在support有任何问题时存储一个值。

var test = $('<input disabled/>');
$(document.body).append(test);
try{
    test.focus();
}catch(e){
    //no support, do your thing
    //...
}
//clean up test element
test.remove();
于 2012-12-06T16:38:12.883 回答