5 ответов:
использовать
document.activeElementсобственность.The
document.activeElementсвойство поддерживается в Chrome 2+, Firefox 3+, IE4+, Opera 9.6+ и Safari 4+.обратите внимание, что это свойство будет содержать только элементы, которые принимают клавиш (например, элементы формы).
проверить этот блог. Это дает обходной путь, так что
document.activeElementработает во всех браузерах.function _dom_trackActiveElement(evt) { if (evt && evt.target) { document.activeElement = evt.target == document ? null : evt.target; } } function _dom_trackActiveElementLost(evt) { document.activeElement = null; } if (!document.activeElement) { document.addEventListener("focus",_dom_trackActiveElement,true); document.addEventListener("blur",_dom_trackActiveElementLost,true); }что-то отметить:
эта реализация немного чрезмерно пессимистична; если окно браузера теряет фокус, activeElement устанавливается в null (так как входной элемент управления также теряет фокус). Если ваше приложение нуждается в значении activeElement, даже если окно браузера не имеет фокуса, вы можете удалить событие размытия слушатель.
просто для протокола, немного поздно, и конечно не поддерживается в старых браузерах:
var element = document.querySelector(":focus");должен работать на всех элементах (например, также якоря).
может быть
document.activeElement, не знаю о поддержке браузера Тхо. Кажется, работает в Firefox и IE7, но я думаю, что вы должны попробовать его в Opera и так далее тоже.
Регистрация внизу поста. Я думаю, что это сработает...
Comments