在iPad,iPad2等IOS5上,当您点击输入字段时,iBooks接受<input type="color">
作为提示键盘显示的方式,即输入问题的答案。我刚刚更新到IOS6,这种解决方法似乎不再起作用。我尝试使用我在此处找到的JavaScript - http://www.linkedin.com/groups/How-Show-iPads-Keyboard-when-3877009.S.84287009
<script type="text/javascript">
function iPadTouchHandler(event) {
var type = "",
button = 0; /*left*/
if (event.touches.length > 1)
return;
switch (event.type) {
case "touchstart":
// OLD: On iPad2 clicking on a text input field did not show the keyboard
// if ($(event.changedTouches[0].target).is("select")) {
// NEW: Now on iPad2 the touchstart-Event on input fields is ignored and everything works fine
// change my by Roland Caspers, Scheer Management
if ($(event.changedTouches[0].target).is("select") || $(event.changedTouches[0].target).is("input")) {
return;
}
iPadTouchStart(event); /*We need to trigger two events here to support one touch drag and drop*/
event.preventDefault();
return false;
break;
</script>
然而,此代码似乎已过时且与IOS5相关。我知道一种解决方法,即将带有输入的页面放入iFrame中,在这种情况下,您可以使用&lt; input type =“text”&gt;,但是我宁愿远离iFrames,因为它们倾向于根据输入框的位置移动内容。有关其他可能的解决方案或解决方法的任何想法? Tyvm:)
答案 0 :(得分:0)
我也在iOS6上遇到同样的问题,同样在<iframe>
标签上完美运行。但它省略了图像&amp;风格等。
查看代码“http://www.linkedin.com/groups/How-Show-iPads-Keyboard-when-3877009.S.84287009”,我觉得有些事情必须在以下条件下进行修改:
($(event.changedTouches[0].target).is("select") || $(event.changedTouches[0].target).is("input"))
如果有人提供早期的回复,我会很高兴。
由于
答案 1 :(得分:0)
我在iOS 7的iBooks中遇到了同样的问题。棘手的部分是,iBooks可能会默认禁用所有文本输入字段。我们正在使用prototype.js,所以这是我为原型编写的解决方案:
$('my-input-field-id').observe('touchstart', function(event) {
var element = event.element();
if (element.disabled)
element.disabled = false;
element.focus();
event.stop();
});
因此,只需在输入字段上侦听'touchstart'事件,并在触摸时启用并聚焦字段。它适用于普通文本字段(<input type="text">
)。简单: - )。