Итог: я бы хотел отключить (с помощью jQuery) некоторые элементы, чтобы они могли не фокусироваться, в отличие от удаления уже примененного фокуса. Моя проблема может быть связана с IE-8, поэтому я рассмотрю решения, ориентированные на IE-8.
Например, у меня есть навигация по месяцам, для которой иногда некоторые месяцы могут быть недействительными, но я все еще хочу представить месяц. Вместо того, чтобы загромождать мою серверную логику и усложнять разметку, переключаясь на диапазон вместо ссылки на недействительный месяц, я просто добавляю «недопустимый» класс в li (контейнер ссылок)
<li class="valid">
<a href="/subpubs/yearMonth/2011-1">Jan</a>
</li>
<li class="invalid">
<a href="/subpubs/yearMonth/2011-2">Feb</a>
</li>
[etc.]
Этот jQuery работает для отключения ссылки и удаления фокуса:
$('.invalid > a').click(function () { $(this).blur(); return false; });
Но в IE8 (хотя не в IE7, не знаю о IE9), удаление фокуса с помощью .blur () имеет достаточную задержку, чтобы было видимое моргание (даже с решением одиночного дня). Поэтому я бы хотел другой подход или, возможно, просто исправление для IE8.
Можно ли вообще отключить ссылку, чтобы она вообще не фокусировалась?