繁体   English   中英

iscroll4防止键盘显示聚焦在外部输入(android / ios)上

[英]iscroll4 prevents keyboard display on focus on an extern input (android/ios)

我在Android(2.2 / 2.3和ios)上的iScroll有问题

我有一个看起来像这样的代码:

<input id = "thing" val=""/>
    <div id="scroller" style="overflow:auto; height:150px;">
        <ul>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
            <li><a class="thing">thing</a></li>
        </ul>
    </div>
    <a class="thing">thing</a>

和js:

$( document ).ready( function(e) {
    var testScroll = new iScroll('scroller', {vScrollbar: false});
    $('a.thing').on('click', function(){$('#thing').focus();});
};

当我单击唯一链接时,我将注意力集中在#thing输入上,并出现软键盘。 当我单击滚动条中的按钮时,会给出焦点,但不会出现键盘。

我真的不明白什么在这里行不通。 我想让键盘出现。

编辑:我正在使用jquery移动,如果这可以帮助我。

尝试判断目标是否为输入元素,请在iscroll.js中修改'_start'函数:

_start: function (e) {
    var that = this,
    point = hasTouch ? e.changedTouches[0] : e,
    matrix;

    that.moved = false;

    if ( e.target.tagName == "SELECT" || e.target.tagName == "INPUT"
        || e.target.tagName == "BUTTON" || e.target.tagName == "TEXTAREA") {
        return true;
    }

    e.preventDefault();

    // more codes here

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM