Я знаю, что это не должно быть то, что трудно, но я не мог найти ответ на Google.
Я хочу выполнить часть JavaScript, который очистит фокус от любого элемента, который это идет, не зная заранее, какой элемент фокус идет. Это должно работать над firefox 2, а также более современными браузерами.
Существует ли хороший способ сделать это?
Ответ: document.activeElement
--- редактировать ----
Технически: document.activeElement.blur ()
---- редактировать 2 ----
function onElementFocused(e)
{
if (e && e.target)
document.activeElement = e.target == document ? null : e.target;
}
if (document.addEventListener)
document.addEventListener("focus", onElementFocused, true);
dummyElem.focus () где dummyElem - это скрытый объект (например, с отрицательным zIndex)?
Можно вызвать window.focus();
, но перемещение или потеря фокуса обязательно помешает любому, кто использует клавишу tab для обхода страницы.
Вы можете прослушать код клавиши 13 и отказаться от эффекта, если нажата клавиша tab.
.focus()
, а затем .blur()
что-нибудь другое произвольное на вашей странице. Поскольку фокус может быть только у одного элемента, он передается этому элементу, а затем удаляется.