2013-04-15 1 views
0

В каждом браузере focus() метод на input прокрутки вверх страницы. Я взломать его пользовательский метод, как это:focus() метод scrolls top только в internet explorer

$.fn.focusNo = function() { 
    var x = (window.pageXOffset !== undefined) ? window.pageXOffset : (document.documentElement || document.body).scrollLeft, 
     y = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body).scrollTop; 

    this.focus(); 
    window.scrollTo(x, y); 
}; 

но в нтернету (9, 10), это решение не работает ..

Как вы решаете эту проблему?

+0

Измените вопрос так, что это может быть полезным для других – Dolo

+0

Предпосылка вопроса не так, 'focus' метод не прокручивается в верхней части страницы, она прокручивается, чтобы сделать сфокусированный элемент, видимый на странице. Вполне вероятно, что есть что-то еще, что обтекает свиток вверх. Как вы называете код? – Guffa

+0

@ Guffa, называющий обычный код jquery '' $ (function() {...}); '' – Kosmetika

ответ

0

Используйте вместо jQuery.

$(document).scrollTop(x); 
$(document).scrollLeft(y); 
+0

это не решение – Kosmetika

+0

Тогда, пожалуйста, проверьте, что ваши значения x и y заполняются должным образом. –

+0

они правильно заполнены – Kosmetika

1

IE dosen't имеют scrollTo вместо этого он был с doScroll.
Кроме того, IE 9 и on-wards устарели doScroll, вместо этого используют свойство scrollLeft или scrollTop.
Ссылка на IE Scroll

Смежные вопросы