Я решаю это следующим образом:
я есть следующий фрагмент кода:
<div id="listbox1div" style="z-index:95; background:white; overflow-y:auto; overflow-x:hidden; width:240; height:314px;">
<a id="focusLink2"></a>
<table id="ptObj_listbox1...
У меня есть страница, которая строит<div>
элементы динамически (такие как выше). Этот<div>
отображает данные в верхней части главного экрана. Когда страница генерирует div, я бы хотел установить фокус. Я не могу поместить функцию onLoad в тег body, так как не знаю, когда будут сгенерированы div.
A <div>
тег не может иметь фокус на нем непосредственно. Поэтому я поставил пустой<a>
тег с идентификатором, который я вызываю в следующей функции:
function setTableFocus(count){
var flinkText = 'focusLink'+count;
document.getElementById(flinkText).focus();
}
Я не получаю никаких ошибок, и я знаю, что функция вызывается при представлении страницы (через оповещения). Однако, когда я использую клавиши со стрелками или кнопку ввода, вся страница перемещается (даже не div, представляющий данные).
Когда я нажимаю на один из элементов таблицы (с помощью мыши). После этого событие keydown начинает работать. То, что я хотел бы сделать, это представить данные пользователю и автоматически управляться с клавиатуры.
У кого-нибудь есть предложения, как мне это сделать?