寻找ibooks html输入替代品

时间:2012-09-26 15:10:36

标签: javascript html input ios6 ibooks

在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:)

2 个答案:

答案 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">)。简单: - )。