键盘不会显示在contenteditable标签上

时间:2014-01-23 13:29:39

标签: javascript android html5 label contenteditable

我有一个页面显示一些单选按钮和他们的标签关联。这样的事情(http://jsfiddle.net/DLV2F/702/) 在谷歌浏览器上,编辑文本没有问题,因为键盘不需要显示。

但在Android上,键盘仅显示输入,div显示为contenteditable但不显示在标签上。

更具体一点:如果你用android选择div,你可以在键盘显示时修改它,但不能在标签中修改:

<div contenteditable id="div">DIV: This div will trigger the keyboard</div>
<label contenteditable>LABEL: This label won't</label>

有没有办法让键盘(如果可能的话,在iO上)出现?

我尝试在隐藏的输入上使用.select()创建一些内容。但是如果没有显示输入(display: none),键盘也不会出现......


编辑:最后,由于没有显示键盘的事件,并且因为我没有找到任何其他方式,这就是我解决问题的方法:

我设置了一个绝对pos和顶部的输入:-9999px(因为可见性:隐藏或显示:none不起作用)。

然后:

self.html.choicePanel.on('click','__my_label__',function(){
  // We focus our dummy input
  $( '#dummyInput' ).focus();

  // We set the default text as it is in the label
  $( '#dummyInput' ).val( $( "label[for='__THE_ID__']" ).text() );

  // Remove other event on this input that could exist
  $( '#dummyInput' ).off( 'keyup' );

  $( '#dummyInput' ).on( 'keyup', function () {
    // Set cool stuff in our label
    $( "label[for='__THE_ID__']"']" ).text( $( this ).val() );
  });
});

并且...承诺提交。

0 个答案:

没有答案