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

Mic*_*tum 11 html javascript ipad ios

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

在iPad上,键盘不显示,因为它不是文本字段.有没有办法强行打开键盘通过JavaScript,或者一些有关说明资料的Safari装饰HTML"是的,这的确是一个文本框,请相信我!"?

Ash*_*kes 11

根据我的经验,没有办法通过Javascript启动iPad或iPhone键盘.我最终使用了可能有用的解决方法.

我只是放置一个文本字段,其中不透明度设置为0.然后我用更改后的文本字段内容更新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
Run Code Online (Sandbox Code Playgroud)

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

像这样的东西(使用jQuery)

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