1

在我的 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);

我该如何解决?

请帮忙。

4

3 回答 3

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>
于 2013-08-22T14:43:07.057 回答
0

为我提出了同样的问题。只需使用刷新您的滚动条

setTimeout(function () { myScroll.refresh(); }, 1000);

通过在正确的位置添加刷新,您可以克服这个问题。我浏览了许多网站并尝试了很多。它完美地工作了我。

如果它不起作用,那么它的移动版本(android,ios)问题,因为滚动 deos 不支持。希望它会帮助你。

于 2013-10-19T11:46:11.213 回答
0

尝试:

在 Android Manifest 活动中: android:windowSoftInputMode = "adjustNothing"

于 2013-09-25T17:39:44.900 回答