在非文本字段上通过JavaScript打开iPad的键盘?

时间:2011-07-18 20:14:50

标签: javascript html ios ipad

我有一个div通过一些聪明的JavaScript充当文本框。是的,那闻起来,但它的供应商代码我无法改变:(

在iPad上,键盘不显示,因为它不是文本字段。有没有办法通过javascript强制打开键盘,或用告诉Safari的东西装饰HTML“是的,这真的是一个文本字段,只要相信我!”?

1 个答案:

答案 0 :(得分:11)

根据我的经验,无法通过Javascript调出iPad或iPhone键盘。我最终使用了可能有用的解决方法。

我只是放置一个文本字段,将其不透明度设置为0,超过相关div。然后我在更改文本字段内容时更新div。

像这样(使用jQuery)

$('textarea').bind('input', function(e){
    var changedVal = $( e.currentTarget ).val();
    $('div').html( changedVal );    
});

// The input event is not a cross browser solution, use a combination of 
// keyboard and mouse events to correctly respond to any changes in the textarea

如果您的供应商代码依赖键盘或鼠标事件监听器来实现它的魔力,您可以将所有事件类型代理到下面的div上。

像这样(使用jQuery)

$('textarea').bind('keyup keydown keypress mouseup mousedown click', function(e) {
    e.currentTarget = $('div').get(0);
    $('div').trigger(e);
});