Как определить, поддерживает ли браузер фокус на отключенных элементах?

Не удается переместить фокус на элемент управления, потому что он невидим, не включен или имеет тип, который не принимает фокус

jQuery выдал вышеуказанную ошибку на IE8.

Я хотел бы иметь возможность определить, поддерживает ли браузер фокус на отключенных элементах (input в моем случае), и хранить его в jQuery.support,

Как бы я это сделал?

Простое решение JS было бы хорошо, но я не хочу использовать перехват браузера (jQuery.browser, так далее).

Будет использовать dispatchEvent() быть хорошим способом пойти?

1 ответ

Решение

Я полагаю, вы могли бы просто try, catch именно это (фокусировка на отключенном элементе), и сохранить значение в 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();
Другие вопросы по тегам