Ocultación de teclados suaves en dispositivos móviles cuando se utilizan divs contenteditable

Estoy usando divs contenteditable para que una página sea vista por los dispositivos móviles para conseguir la entrada para una cierta materia. Quiero que el teclado virtual se oculte cuando el usuario presione entrar, en lugar de la acción normal de entrar en una div. Mi primer intento de hacerlo funcionar parece algo así:

if event.keyCode == 13 #enter event.preventDefault() #to prevent the normal behaviour of enter @$("#the_editable_div").blur() 

Sin embargo, parece que esto no funciona como lo haría con una entrada. El div pierde foco, pero el teclado no se esconde ni en iOS ni en android.

También he probado la solución en el teclado de cierre en iPad en div contenteditable pero encontró que no funcionaba. Si me enfoco en otro campo de texto y desdibujo en las cosas de iOS todavía no cierra el teclado, y en android he encontrado que cambia el teclado a uno usado para los campos regulares, donde al presionar entrar de nuevo se cerrará el teclado, pero eso es no el comportamiento esperado de que cierre inmediatamente cuando se presiona en el campo contenteditable div. Esto me parece extraño, ya que si tuviera que tocar en ese campo de entrada yo y luego desenfoque a través de javascript entonces el teclado se cierra correctamente.

¿Hay una manera de tener una div contenteditable que cierra los teclados suaves en androide y los dispositivos del iOS cuando se presiona enter cuando esa div está enfocada?

One Solution collect form web for “Ocultación de teclados suaves en dispositivos móviles cuando se utilizan divs contenteditable”

Esta solución funciona bien, al menos con Android (no puedo probar en iPad):

 <input type="text" id="ghostInput" style="position:absolute;top:-50px" /> <div id="myDiv" contenteditable="true" style="width:100%;height:100px;background-color:yellow"></div> <script> var ghostInput = document.getElementById("ghostInput"); ghostInput.onfocus = function () { ghostInput.blur(); } document.getElementById("myDiv").onkeydown = function (e) { if (e.keyCode == 13) ghostInput.focus(); } </script> 
  • ¿Cómo puedo actualizar la visualización del botón de acción del editor de inmediato?
  • Cordova Ionic Keyboard plugin deshabilitar completamente en "Init"
  • Ocultar teclado virtual en la carga de la aplicación
  • Android Implementa dos fragmentos que tienen un comportamiento diferente cuando aparece el teclado
  • El teclado no desaparece cuando se utiliza iScroll
  • SoftKeyboard para Android
  • ¿Cómo cambiar el color de fondo de la tecla para el teclado suave android?
  • ¿Cómo desactivo la barra de autocorrección en los teclados de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.