在iOS8之前的所有版本中,当键盘通过以下方法出现时,我能够阻止iPhone键盘向上推(并销毁)我的html/css/js视图:
$('input, select').focus(function(event) {
$(window).scrollTop(0);
// or via the scrollTo function
});
Run Code Online (Sandbox Code Playgroud)
从iOS8开始,这已不再适用.一种解决方法是将此代码放在setTimeOut中
setTimeout(function() { $(window).scrollTop(0); }, 0);
Run Code Online (Sandbox Code Playgroud)
但它只会让视图做一个不稳定的动作,因为视图最初被iOS推高,然后被我的js代码拖回来.preventDefault和stopPropagation也无济于事.
我已经尝试过在网上提供的所有内容,包括我自己在这里发布的解决方案:如何使用phonegap防止键盘在iOS应用程序上推动webview,但到目前为止,iOS8无效.关于如何防止iOS8中的键盘推/移视图的任何聪明的想法?
我正在尝试遍历localStorage以获取所有通过localStorage.length我的搜索算法工作的项目.如果我改变:i < localStorage.length在for循环中只for (i=0; i<100; i++)改为一个数字,即:而不是:(i=0; i<=localStorage.length-1; i++),everthing工作.但是,我确实意识到问题可能在于搜索算法.
获取所有项目的代码:
var name = new Array();
for (var i = 0; i <= localStorage.length - 1; i++) { // i < 100 works perfectly
key = localStorage.key(i);
val = localStorage.getItem(key);
value = val.split(","); //splitting string inside array to get name
name[i] = value[1]; // getting name from split string
}
Run Code Online (Sandbox Code Playgroud)
我的工作(!?)搜索算法:
if (str.length == 0) {
document.getElementById("searchResult").innerHTML = "";
}
else { …Run Code Online (Sandbox Code Playgroud) 是的我知道.这个问题之前已被问过一千次.感谢所有人,我能够找到一个解决方案,最终在<= iOS7中完成了我的工作.但是,在更新到iOS 8后 - 似乎没有任何效果!
在iOS7中对我来说非常有用
CSS
html, body, .scrollable {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
Run Code Online (Sandbox Code Playgroud)
jQuery的
$(function() {
$(document).on("touchmove", function(evt) { evt.preventDefault() });
$(document).on("touchmove", ".scrollable", function(evt) { evt.stopPropagation() });
});
Run Code Online (Sandbox Code Playgroud)
我试过的其他解决方案:
全部在这里:iPhone Web App - 停止正文滚动
在这里:iOS Safari - 如何禁用过度滚动但允许可滚动的div正常滚动?
和更多 ...
那么,有没有人知道iOS8兼容的禁用身体界限滚动 /反弹效果的方式(除了应用于phonegap项目的原生解决方案)?
我想更改我的Phonegap/Cordova构建的原生iOS应用程序中出现的所有键盘的背景颜色,如下所示:

我当然彻底搜索了这个,主要找到了2个相关的答案.回答者在这里说,Objective-C代码可以被添加到的PhoneGap项目的AppDelegate.m文件上所显示此页面.我找到了AppDelegate.m文件,但似乎无法弄清楚如何在所有文本字段上将键盘外观设置为UIKeyboardAppearanceAlert .回答者提供的代码示例:
mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert;
Run Code Online (Sandbox Code Playgroud)
编写基于cordova的应用程序,我无法区分任何文本域ID以连接到上面的示例.Xcode/Cordova中是否有一个文件,其中列出了所有文本域ID,甚至更好:
有没有办法可以通过UIKeyboardAppearanceAlert或类似方法将键盘外观设置为黑暗,适用于所有文本字段并与Cordova兼容?
谢谢