Javascript safari iOS-禁用在输入焦点上隐藏地址栏
有没有办法禁用在safari iOS中点击输入框时发生的滚动?我的网站不太适合出现的滚动,实际上使网站不那么友好 我试过使用:Javascript safari iOS-禁用在输入焦点上隐藏地址栏,javascript,html,ios,safari,Javascript,Html,Ios,Safari,有没有办法禁用在safari iOS中点击输入框时发生的滚动?我的网站不太适合出现的滚动,实际上使网站不那么友好 我试过使用: $('input,select,textarea').bind('focus',function(e) { window.scrollTo(0, 0); }); 但它只会迫使safari滚动到我文档的顶部,这意味着地址栏仍然是“隐藏的”。我只是不明白为什么如果window.scrollTo(0,1)应该“隐藏”地址栏,为什么window.scrollTo(0,0)不
$('input,select,textarea').bind('focus',function(e) {
window.scrollTo(0, 0);
});
但它只会迫使safari滚动到我文档的顶部,这意味着地址栏仍然是“隐藏的”。我只是不明白为什么如果window.scrollTo(0,1)应该“隐藏”地址栏,为什么window.scrollTo(0,0)不显示它
类似地,当文本区域被滚动/刷过时,是否有方法防止safari滚动文档?目前,如果我向下滚动页面并恰好滚动到文本区域字段,它将滚动整个页面。实际上,在第二次查看时,它似乎有时也会在输入字段上执行此操作。我很幸运,当输入使用此代码时,地址栏不会出现。这是垃圾邮件,但这是一个相当短暂的爆发,似乎做的把戏
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);
我知道这是一个老生常谈的问题,但它可能会对以后的人有所帮助:) 这就是我要做的,这样地址栏就不会显示在输入焦点上,而总是在检测到任何滚动事件时隐藏地址栏
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);
}
});
如果这有什么不同的话,我会使用iscroll。在我看来,这不起作用。它会在每次滚动事件后向上滚动,因此会阻止站点上的自然滚动。您的意思是在评论之后检查“if(inputFocus)”?