Javascript iscroll4防止键盘在外部输入(android/ios)上聚焦显示
我对android(2.2/2.3和ios)上的iScroll有问题 我有一个代码,看起来像: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>
<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
}