2012-03-22 16 views
15

Necesito hacer un cambio de tamaño del contenido de una página web cuando se presiona el botón Ocultar teclado en un teclado virtual de iPad. ¿Alguien sabe qué evento de JavaScript se inicia cuando el teclado está oculto?Cómo capturar el evento hide keyboard en iOS usando JavaScript

+0

posible duplicado de [iPad Web App: Detectar el teclado virtual con JavaScript en Safari?] (Http://stackoverflow.com/questions/2593139/ipad-web-app-detect-virtual-keyboard-using-javascript-in -safari) – mplungjan

Respuesta

17

Puede utilizar el focusOut evento. Es como borroso, pero burbujas. Se disparará cuando el teclado se cierre (pero también en otros casos, por supuesto). En Safari y Chrome, el evento solo se puede registrar con addEventListener, no con métodos heredados. Aquí hay un ejemplo que utilicé para restaurar una aplicación Phonegap después del despido del teclado.

document.addEventListener('focusout', function(e) {window.scrollTo(0, 0)}); 

Sin este fragmento, el contenedor de la aplicación permaneció en la posición desplazada hasta la actualización de la página.

+0

Ha, esa es la situación exacta que tengo "restaurar una aplicación Phonegap después de la eliminación del teclado" – ganders

+0

Este EventListener me ayudó a solucionar un problema que tenía con ExtJS 5; el contenido de la página ExtJS se mantendría desplazado un poco después de que el teclado IOS estuviera oculto en Safari. Eso es un problema ya que en ExtJS 5.0.1 el desplazamiento está deshabilitado en las interfaces táctiles. Por lo tanto, utilicé este evento para desencadenar un doLayout() en el contenedor de vista ExtJS que hizo que el contenedor se ajustara de nuevo dentro de los límites de la pantalla. – Jasper

+0

Esto [a menudo no funciona en el emulador Chrome 41/iOS 6 en CrossBrowserTesting] (http://i.imgur.com/bZbz9Cm.png). –

3
+1

Gracias, adelgazo, voy a escuchar los eventos de onblur. Porque cuando el teclado virtual está cerrado, las entradas pierden el foco. – Marius

+0

@ El foco de Mario no se pierde cuando se presiona el botón de ocultación del teclado. –

Cuestiones relacionadas