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

Javascript iscroll4防止键盘在外部输入(android/ios)上聚焦显示,javascript,jquery,focus,iscroll4,Javascript,Jquery,Focus,Iscroll4,我对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>

我对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>
当我点击这个单独的链接时,我会把注意力集中在“东西”输入上,然后出现软键盘。 当我点击滚动条上的按钮时,会显示焦点,但键盘不会显示

我真的不明白什么东西在这里不起作用。我想让键盘显示出来


编辑:我正在使用jquery mobile,如果这对我有帮助的话。

尝试判断目标是否是输入元素,修改iscroll.js中的“\u 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

}

目标在这里是一个链接,但是是的,它在“onBeforeCollStart:function(e){if(target.tagName!='a')e.preventDefault();}”下工作。但我对这种把戏不太满意。我认为这是iScroll的一个bug,如果iScroll在触摸启动时阻止所有默认事件,它一定会导致一些奇怪的事情。是的。。。我不明白的是为什么点击和聚焦事件被触发,但没有完全触发。我将花一点时间深入了解代码以理解这一点。编辑:我忘了e。在我的编辑中的目标之前:“onBeforeScrollStart:function(e){if(e.target.tagName!='A')e.preventDefault();}”
_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

}