Итак - у меня есть страница, которая содержит текстовую область и динамически созданный IFrame, который отображает PDF с использованием плагина Adobe Acrobat.
Первоначально текстовая область фокусируется.
Я хочу, чтобы текстовая область была сфокусирована, но IFrame крадет фокус при загрузке pdf.
В Firefox сбросить текстовую область в качестве сфокусированного элемента тривиально.
Я делаю это, слушая событие загрузки iframes и затем вызывая .focus () для текстового поля.
M $ IE не запускает событие onload для динамически создаваемых Iframes, поэтому для определения его готовности я использую свойство readyState IFrame:
var ieIframeReadyHandler = function() {
if( iframe.readyState=="complete" ) {
textarea.focus();
} else {
setTimeout(ieIframeReadyHandler, 100);
}
}
setTimeout(ieIframeReadyHandler, 100);
Примечание: я не слушаю событие readystatechanged iframe, так как оно, похоже, не запускается для случая readyState == "complete" !!
Так что же происходит, когда исполняется этот код? ..... Ну, ничего. PDF-файл Iframe по-прежнему находится в фокусе, однако, если я проверяю, какой элемент имеет фокус, используя document.activeElement (раньше это был только IE, теперь это поддерживается только в Firefox 3). Мне сообщили, что текстовая область имеет фокус !!
Какого черта ??!?
Есть идеи?