Я попытался навести курсор на область ввода, и IE вызвал у меня много головной боли. Я пробовал что-то в этом духе (тоже изменив таймаут на большие числа):
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
и это не сработает. Я заметил, что у меня также есть апплет на странице, и когда я удаляю апплет, работает выше. Также, если я поставлю предупреждение перед триггером focus()
, оно будет работать.
Апплет ничего не делает конкретно (он фактически извлекает MAC-адрес пользователя) и в конце делает один вызов внешней функции JS для отправки MAC-адреса в DOM. Я попытался поместить фокус (тайм-аут и все) в конец этой функции JS, но это тоже не сработает.
Что может быть не так? В Firefox все работает хорошо, но не в IE.
Текущая настройка:
//This is called from within the applet using a window.call
function everythingDone()
{
$("#someinput").focus();
//setTimeout(function() { document.getElementById('someInput').focus(); }, 1000);
};
$(function()
{
var applet = "<object classid='clsid:CAFEEFAC-0014-0002-0000-ABCDEFFEDCBA' width='0' height='0'><param name='code' value='someapplet.class' /><param name='archive' value='/someapplet.jar' /></object>";
$("#appletarea").html(applet);
//setTimeout(function() { document.getElementById('someInput').focus(); }, 1000);
});