在我的jquery mobile ios phonegap应用程序中,我使用iscroll。在使用iscroll时,文本框表现得很奇怪(在输入每个字符时上下移动)。
我在我的应用中启用了iscroll,
添加了以下脚本:
<script src="js/iscroll.js"></script>
<script src="js/jquery.mobile.iscrollview.js"></script>
我的页面看起来像,
<div data-role="page" id="index">
<div data-theme="a" data-role="header" data-position="fixed" data-id="footer" data-tap-toggle="false" data-transition="none">
</div>
<div data-role="content" data-iscroll>
// following text field works weirdly
<input id="txtComment" placeholder="COMMENTS" value="" type="text" data-theme="b"/>
</div>
<div data-role="navbar" data-position="fixed" data-theme="a" data-id="footer" data-tap-toggle="false" data-transition="none">
</div>
</div>
我尝试添加以下代码,但无法正常工作
var selectField = document.getElementById('txtComment');
selectField.addEventListener('touchstart', function(e) {
e.stopPropagation();
}, false);
我该如何解决?
请帮忙。
答案 0 :(得分:1)
将此功能与iscroll一起使用,您可以在表单字段中输入.....
<script type="text/javascript">
var myScroll;
function loaded() {
myScroll = new iScroll('wrapper', {
useTransform: false,
onBeforeScrollStart: function (e) {
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;
if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA')
e.preventDefault();
}
});
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', loaded, false);
</script>
答案 1 :(得分:0)
尝试:
Android Manifest活动中的:android:windowSoftInputMode =“adjustNothing”
答案 2 :(得分:0)
同样的问题为我提出。请使用
刷新滚动 setTimeout(function ()
{
myScroll.refresh();
}, 1000);
通过在正确的地方添加刷新,你可以克服这个问题。我经历了很多网站,并尝试了很多。完美的工作我。
如果它不起作用,那么它的移动版本(android,ios)问题因为滚动不支持。 希望它能帮到你。