[英]iscroll4 prevents keyboard display on focus on an extern input (android/ios)
I have a problem with iScroll on android (2.2/2.3 and ios) 我在Android(2.2 / 2.3和ios)上的iScroll有问题
I have a code which looks like : 我有一个看起来像这样的代码:
<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>
and the js : 和js:
$( document ).ready( function(e) {
var testScroll = new iScroll('scroller', {vScrollbar: false});
$('a.thing').on('click', function(){$('#thing').focus();});
};
when I click on the lone link, I give focus on #thing input and the soft keyboard appear. 当我单击唯一链接时,我将注意力集中在#thing输入上,并出现软键盘。 when I click on those in the scroller, focus is given but the keyboard don't appear. 当我单击滚动条中的按钮时,会给出焦点,但不会出现键盘。
I really don't understand what don't works here. 我真的不明白什么在这里行不通。 I'd like to make the keyboard appear. 我想让键盘出现。
edit: I'm using jquery mobile, if that can help helping me. 编辑:我正在使用jquery移动,如果这可以帮助我。
try to tell if the target is an input element, modify the '_start' function in iscroll.js: 尝试判断目标是否为输入元素,请在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.