在我的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);
我该怎么修?
请帮忙。
将此函数与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>
尝试:
在Android Manifest活动中:Android:windowSoftInputMode="adjustNothing"
我也遇到了同样的问题。必须使用刷新滚动
setTimeout(function ()
{
myScroll.refresh();
}, 1000);
通过在正确的地方添加刷新,你可以克服这个问题。我浏览了很多网站,尝试了很多。这对我来说非常有效。
如果它不工作,那么它的移动版本(android,ios)的问题,因为滚动电视不支持。希望它能帮助你。