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

我有一个div,通过一些聪明的JavaScript来充当一个文本框。 是的,这气味,但它的供应商代码我不能改变:(

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

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

我只是把一个文本字段的不透明度设置为0的问题。 然后我更新与文本字段内容的变化。

像这样(使用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 

如果您的供应商代码依靠键盘或鼠标事件侦听器来做到这一点,您可以将所有事件types代理到下面的div上。

像这样(使用jQuery)

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