iScroll 4无法使用
|
我正在使用以下HTML代码:
<form action=\"#\" method=\"post\">
<fieldset>
<label class=\"desc\" id=\"title10\" for=\"Field10\">
How many children do you have?
</label>
<select id=\"Field10\" name=\"Field10\" class=\"field select large\" tabindex=\"5\">
<option value=\"0\" selected=\"selected\">0 </option>
<option value=\"1\">1 </option>
<option value=\"2\">2 </option>
<option value=\"3\">3 </option>
<option value=\"4\">4 </option>
<option value=\"5\">5 </option>
<option value=\"6\">6 </option>
<option value=\"7\">7 </option>
<option value=\"8\">8 </option>
<option value=\"9\">9 </option>
</select>
<input type=\"submit\" value=\"Send message\" />
</fieldset>
</form>
<select>
在iPhone和Android上不起作用。当我点击选择框时,没有任何反应。
我正在使用iScroll 4创建问题。
<script type=\"application/javascript\" src=\"iscroll-lite.js\"></script>
<script type=\"text/javascript\">
var myScroll;
function loaded() {
myScroll = new iScroll(\'wrapper\');
}
document.addEventListener(\'touchmove\', function (e) { e.preventDefault(); }, false);
document.addEventListener(\'DOMContentLoaded\', loaded, false);
</script>
我认为这是一个解决方案,但我不知道如何实现。
没有找到相关结果
已邀请:
19 个回复
茬贺努充尽
标记的默认行为(如果您问我,这不是很好的实现)。 这发生在第195行的
函数中:
如果您对此发表评论,则会注意到
标签再次起作用。 但是将其注释掉意味着您已经破解了该库,这可能会破坏其他所需的iScroll功能。因此,这里有一个更好的解决方法:
该代码将允许发生默认行为,而无需将事件传播到iScroll,从而将所有事情搞砸了。 由于您的JS不在任何类似jQuery的
事件内,因此您必须确保将此代码放在定义
元素的HTML之后。 请注意,对于移动设备,该事件是“ 10”,但是对于您的PC浏览器,该事件是“ 11”
誓猎贰
创建人:
可以专注于输入,选择和textarea标签
掀辟髓观粟
onBeforeScrollStart是允许控件的默认行为发生的东西。 Android浏览器似乎对useTransform有问题,因此请转为false。 最后,当useTransform为false时,需要排除一些其他的iscroll代码:
在意识到它与iscroll添加的css有关之前,尝试了其他几种方法。
鲁釜头
担每棱绰
坛沤疲撑拆
在加载功能中
瓜唱鬼
通过
在
作品中
犁攀富
捕暑句簿姓
需复
对我来说,我只需要在最后一行添加click:true ... 全天都在调试和实施所有建议的解决方案,但无济于事。
抢垢洛韧
的CSS
您还可以通过这种方式将输入的标签面以及输入的绝对位置放入标签区域 正在100%工作,请检查
澳绍能
细瑞
基本上,您需要做的就是在用户选择表单元素时销毁iScroll实例,但是在他们真正开始滚动之前(onBeforeScrollStart),并且如果用户单击元素中具有自定义属性
的其他任何内容,他们都可以滚动照常使用iScroll。
剑哎
因此,当加载搜索页面时,它会自动聚焦在文本输入字段上,但不会弹出键盘,这正是我想要的。抱歉,我的示例无法公开访问,但是希望这仍然可以对某人有所帮助。
捅瓶啡
亥套惟间连
诧不达
破弯
撕吠