Добрый день.
Вопрос по сабжу, в основном проблема касается IE.
Есть div с tabindex="0". Возле div-а расположены его копки управления. После нажатия на кнопку управления необходимо передать фокус назад на div. При передаче фокуса все браузеры (что вполне логично) смещают скрол к этому элементу. Мне необходимо, чтобы скрол не смещался.
Для решения вопроса использую следующий код:
var dtop = $(document).scrollTop(); //Считываю начальную позицию
$("#div1").focus(); //Передаю фокус элементу
$(document).scrollTop(dtop); //Восстанавливаю начальное положение скрола
Во всех браузерах все хорошо кроме IE. Собственно в IE проблема возникает, если высота div больше высоты видимой области документа или он не полностью находится в этой области. Возникает неприятное мерцание документа, при каждом выполнении третьей строчки документ передергивает.
Пробовал "грязный" хак с setTimeout, не помогает. Возможно кто-то знает как победить IE?
Заранее благодарен.