jQuery mobile iscroll视图:无法正确键入文本框



在我的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)的问题,因为滚动电视不支持。希望它能帮助你。

最新更新