Safari iOS - отключить скрытие адресной строки при фокусе ввода - PullRequest
1 голос
/ 15 декабря 2011

Есть ли способ отключить прокрутку, которая происходит при касании поля ввода в Safari iOS?Мой сайт плохо подходит для прокрутки, что делает сайт менее удобным для пользователя.

Я пытался использовать:

$('input,select,textarea').bind('focus',function(e) { 
window.scrollTo(0, 0);
});

Но это только заставляет сафари прокручиваться до верхней части моего документа, что означает, что адресная строка все еще "скрыта".Я просто не понимаю, почему, если window.scrollTo (0, 1) должен «скрывать» адресную строку, почему window.scrollTo (0, 0) не показывает ее?

АналогичноЕсть ли способ предотвратить прокрутку документа сафари при прокрутке или пролистывании текстовой области?В настоящее время, если я прокручиваю страницу вниз и прокручиваю поле textarea, она прокручивает всю страницу.На самом деле, при втором взгляде кажется, что иногда это делается и для полей ввода.

Ответы [ 2 ]

1 голос
/ 12 марта 2013

я знаю, что это старый вопрос, но он может кому-то помочь позже:)

Это то, что я делаю, чтобы адресная строка не отображалась на фокусе ввода, при этом всегда скрывая адресную строку при обнаружении любого события прокрутки.

var inputInFocus=false;
$('input').focus(function(){
  inputInFocus=true;
});
$('input').blur(function(){
  inputInFocus=false;
  setTimeout("$(document).scrollTop(0);",0);
});
/*detect any scroll function and hide address bar*/
$(window).scroll(function(){
  if(!inputInFocus){
setTimeout("$(document).scrollTop(0);",200);
  }
});         
1 голос
/ 27 сентября 2012

Мне повезло, что адресная строка не появилась, когда ввод был сфокусирован с этим кодом.Это спам, но это довольно короткий всплеск, и, похоже, он помогает.

var top = 1; // or your input box position
var spamStop = (new Date()).getTime() + 10; 
var scrollSpam_id = setInterval(function () {
    var t = (new Date()).getTime();
    if (t > spamStop) {
      clearInterval(scrollSpam_id);
    } else {
      window.scrollTo(0, top);
    }
}, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...