He estado buscando por todas partes sin suerte. Si vas a google.com en el iPhone cuando te enfocas en el campo de búsqueda, aparece un poco de "x" en el extremo derecho y si lo tocas, borra el valor actual del campo. ¿Alguien sabe cómo lograr esto?pequeña 'x' en la entrada de campo de texto en el iphone en mobileSafari?
Respuesta
Utilicé el menú de desarrollo en Safari y cambié el agente de usuario a iPhone. Visualización de la fuente en Google, parece que ellos han puesto su html así:
<div class="gp2">
<input class="gp7" id="query" type="text" name="q" size="30" maxlength="2048" autocorrect="off" autocomplete="off" />
<a class="clear" id="clearQuery" href="#">
<img src="data:image/gif;base64,R0lGODlhAQABAID%2FAMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D" alt="" />
</a>
y están utilizando esta javascript:
function initClearQueryLink(query,clearQuery){
clearQuery.setAttribute("title","Clear");
clearQuery.addEventListener("mousedown",clearQueryBox,true);
query.addEventListener("keyup",_handleClearQueryLink,false)
}
function _handleClearQueryLink(){
var query=document.getElementById("query");
var clearQuery=document.getElementById("clearQuery");
if(clearQuery)
if(query.value.length>0){
clearQuery.style.display="inline";
clearQuery.style.visibility="visible"
} else{
clearQuery.style.display="none";
clearQuery.style.visibility="hidden"
}
}
function clearQueryBox(event){
var query=document.getElementById("query");
var clearQuery=document.getElementById("clearQuery");
query.value="";
clearQuery.style.display="none";
clearQuery.style.visibility="hidden";
hideSuggest();
if(event)event.preventDefault()
}
Un recurso realmente bueno para el desarrollo web de iPhone es iphonewebdev.
Sin embargo, parece que esta característica en particular no es parte de la API de Apple (al menos de mi investigación), sino una implementación pura de javascript/css.
Se puede volver a crearlo con algo como esto:
<script>
window.onload = function() {
var btn = document.getElementById("clear_input");
btn.onclick = function() {
var div = btn.parentNode;
var input = div.getElementsByTagName("input")[0];
input.value = "";
return false;
}
}
</script>
<div>
<input type="text" /><a href="#" id="clear_input">X</a>
</div>
Debería el estilo de la X para ser una imagen para que se funda dentro de la entrada. Y, por supuesto, le recomiendo usar un marco de JavaScript si puede.
Este es un tipo especial de entrada desarrollada por Apple y no aprobada por el W3C. Si lo usa, funciona bien en los navegadores que no lo reconocen.
<input type="search" name="q" />
hay otros parámetros, incluyendo el nombre de dominio y los resultados de búsqueda por lo que el usuario puede tener acceso a su historial de búsqueda. Google para saber cómo usarlos.
se acepta por el W3C en HTML5: http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html # attr-input-type – Kornel
El truco es escuchar/vincular evento en mousedown de esa manera nunca se dispara el evento click y su elemento de entrada no pierde el foco. Como en el ejemplo de google arriba.
Y esta es mi versión de jQuery, la oculta al inicio, y si el usuario elimina lo que está tipeado, eliminará la 'x'. Además, cuando hayan eliminado el texto con el botón, también ocultará la 'x'.
html:
<input type="search" name="search" id="search" />
<a href="#" class="clear_input">X</a>
JavaScript:
$('.clear_input').hide();
$('#search').keyup(function() {
var search = $(this).val().replace(/^\s+|\s+$/g,"");
if (search.length >= 1) {
$('.clear_input').show();
} else {
$('.clear_input').hide();
}
$('.clear_input').click(function() {
$('#search').val('');
$('.clear_input').hide();
});
});
La versión JavaScript es más rápido que la versión de jQuery, por supuesto.
jQuery Mobile ofrece esto:
- 1. texto predeterminado en el campo de entrada
- 2. ¿Cómo esperar la entrada en un campo de texto?
- 3. Validación en el campo de texto: borde rojo resaltado, iPhone
- 4. Texto predeterminado en la entrada
- 5. iPhone UIWebView: ¿Se puede apagar automáticamente en un campo de texto de entrada?
- 6. ¿Detecta el "valor" del campo de texto de entrada después de un evento de selección en el campo de texto?
- 7. Arrastrar y soltar en MobileSafari?
- 8. Capturar presionar la tecla presionar en el campo de entrada de texto en AS3
- 9. ¿Por qué border-radius no funciona correctamente en entradas de texto en MobileSafari?
- 10. jQuery Mobile Force ocultar el teclado suave en el campo de entrada de texto de enfoque
- 11. Cambiar el color del texto en el campo de texto
- 12. Programando texto parcialmente parcial en un campo de entrada
- 13. Alinear a la derecha el texto en el campo de entrada de HTML
- 14. validación de iphone para campo de texto agregado en uialertview
- 15. Cómo desactivar el teclado de iPhone para un campo de entrada específico en la página web
- 16. Permitir solo texto numérico en el campo de texto de entrada
- 17. ¿Cómo puedo evitar la autocompletación del teclado en MobileSafari/UIWebView?
- 18. Entrada de entrada personalizada para UITextField, ¿cómo dirijo la entrada de regreso al campo de texto?
- 19. Establecer el foco en el texto de entrada JSF específico en la carga de la página
- 20. ¿Cómo cambio el color del cursor de texto en un campo de entrada en IE?
- 21. jQuery: ¿texto de color animado para el campo de entrada?
- 22. Cuadro de entrada de texto como la aplicación de SMS en el iPhone
- 23. Añadir texto a los campo de entrada
- 24. Obtener entrada de teclado sin un campo de texto/vista
- 25. Almacenar cadena JSON en el valor del campo de entrada
- 26. Restringir los caracteres de entrada en el campo de texto/campo de número utilizando la expresión regular?
- 27. Cómo crear el campo de entrada de contraseña en django
- 28. ¿Cómo puedo obtener el valor del campo de texto de la etiqueta en iPhone sdk?
- 29. ¿Cómo se hace algo de texto, dentro de un campo de texto de entrada, en negrita?
- 30. Verticalmente centre el texto en la entrada de texto en Internet Explorer
La imagen no se muestra para mí, dice 1x1 pixel. [violín] (http://jsfiddle.net/jkMWh/1/) –