2011-03-13 14 views
11

Duplicar posibles:
iPad HTML FocusjQuery enfoque() método en el IPAD

¿Alguien sabe cómo conseguir el método de enfoque() de jQuery para trabajar en el IPAD, o tal vez una solución? Lo que trato de hacer es hacer que el teclado aparezca en una página web, ya que tengo jquery capturando las teclas para realizar eventos. Sin embargo, sin un cuadro de texto en la página, no sé cómo hacer que aparezca el teclado. Ahora que tengo el cuadro de texto en la página, intento usar jquery para establecer el foco en el cuadro de texto para que aparezca el teclado. Además de esto, estoy configurando el estilo de los cuadros de texto para que se muestren: ninguno, de modo que el foco vaya al cuadro de texto pero no se vea, por lo que la funcionalidad parece funcionar. Sin embargo, focus() se rompe en el ipad! ¿Alguien puede ayudarme?

+0

Lo siento fue lo que quise decir. ¿Realmente no hay una solución para esto? El sitio que he estado diseñando está construido alrededor de tener este trabajo, así que espero que pueda hacer que esto suceda de alguna manera. – JesseBuesking

+0

No; porque Apple no quiere que aparezca el teclado * excepto * a petición del usuario. Aunque, lamentablemente, no puedo encontrar un documento para * probar * eso. Mis comentarios se basan puramente en la observación empírica, lo cual es una pena. –

Respuesta

0
<input> 
<a href="#" class="label">Click</a> 
$('.label').mouseup(function(){ $('input').focus(); }); 

trabaja en mi proyecto. sólo tiene que utilizar "mouseup" para capturar eventos y de "enfoque" en la entrada de

través http://www.quora.com/Mobile-Safari-iPhone-or-iPad-with-JavaScript-how-can-I-launch-the-on-screen-keyboard

+0

Esto funciona porque usted inició .focus() desde un evento iniciado por el usuario (mouseup). No funcionará cuando lo use desde un documento listo o algún otro evento no iniciado por el usuario (tiempo de espera, etc.). El cuadro de resaltado aparece alrededor del campo, pero no hay teclado. – Ads

7

Por desgracia, la única manera de conseguir un teclado para mostrar, es decir, durante un evento iniciado por el usuario. Esto es algo con lo que he estado luchando últimamente.

A continuación, ilumin tiene una buena solución, pero no es la única. Básicamente, por lo que he encontrado, siempre que esté realizando su llamada a la función .focus() dentro de un evento de usuario (como mouseup, o cualquiera de los eventos táctiles [que probablemente sea el preferido para un dispositivo táctil]), entonces no deberías tener un problema.

Hasta cierto punto, entiendo por qué Apple hizo esta limitación, pero al mismo tiempo, ha hecho que mi trabajo sea muy desafiante.

0

Desafortunadamente, solo verá el teclado emergente cuando se enfoca en un campo de texto. Ver this answer.

Cuestiones relacionadas