输入无法在phonegap应用程序中工作

时间:2014-05-12 07:37:30

标签: javascript css cordova cordova-3 iscroll

我正在创建一个Cordova PhoneGap应用,但输入字段有问题。

我正在使用iScroll进行滚动和刷新。

突然我的输入字段没有响应。因此用户在启动应用程序时甚至无法登录。

我使用标准字段,我不能给输入字段重点。甚至没有包装,我设置“[input] .focus()”。

html代码是

<input class="newinput" onclick="this.focus();" type="email" id="email" name="email" value="" autocorrect="off" autocapitalize="off" required="" placeholder="Enter E-mail address">

CSS

.newinput {
width: 100%;
border: none;
padding: 0;
margin: 3px 0px 1px 0px;
background: white;
font-size: 16px;
color: #43ACDB;
z-index: 40;
}

其他风格(在Chrome开发者控制台中找到)

-webkit-writing-mode: horizontal-tb;
font: -webkit-small-control;
letter-spacing: normal;
word-spacing: normal;
text-transform: none;
text-indent: 0px;
text-shadow: none;
display: inline-block;
text-align: start;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-appearance: textfield;
-webkit-rtl-ordering: logical;
-webkit-user-select: text; // tried without this line too
cursor: auto;

输入字段之前已经有效,但突然间没有一个可以获得焦点。不幸的是,我没有停止工作,因为我有自动登录,所以我没有使用输入字段的大多数应用程序功能。

我检查了所有js和css代码,但没有一行以“-webkit-user”开头(调试除外)

代码工作正常,如果我只是在我的Mac上的浏览器上的index.html但在iphone,Android和ipad上的android模拟器和浏览器有此错误

我还能做些什么才能让输入再次起作用?

1 个答案:

答案 0 :(得分:1)

好的找到了答案。奇怪的是它是自2010年以来一直存在的iScroll错误。

使用以下设置:useTransform和onBeforeScrollStart。例如。

myScroll = new iScroll(
    'wrapper', /** Change this to match your container ID **/
    {
        useTransform: true,
        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();
            }
        }
        /** Add Any Additional Settings here **/
     }
);