У меня есть следующий фрагмент кода:
<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>
отображает данные поверх главного экрана. Когда страница генерирует divs, я хотел бы установить фокус. Я не могу поместить функцию onLoad в тег body, поскольку я не знаю, когда будут созданы divs.
A <div>
не может иметь фокус, установленный непосредственно на нем. Поэтому я положил пустой тег <a>
с идентификатором, который я вызываю в следующей функции:
function setTableFocus(count){
var flinkText = 'focusLink'+count;
document.getElementById(flinkText).focus();
}
У меня нет ошибок, и я знаю, что функция вызывается, когда страница отображается (через оповещения). Однако, когда я использую клавиши со стрелками или кнопку ввода, вся страница перемещается (даже не div, представляющий данные).
Когда я нажимаю на один из элементов таблицы (используя мышь). После этого начинает работать событие keydown. Мне бы хотелось, чтобы это было сделано, чтобы представить данные пользователю и автоматически управляться клавиатурой.
Есть ли у кого-нибудь предложения, как я могу это сделать?