Función onclick de JQuery para enfocar la entrada

Quiero una función JQuery que signifique que si el usuario hace clic en algún texto en la página, enfoca una entrada.

$(document).ready(function(){
$('#header.search span').click(function(){
    $('#header.search input').focus();
});
});

Eso no hizo nada. En Firebug no se registra nada.

¿Alguna idea?

Maravilloso

preguntado el 02 de septiembre de 11 a las 14:09

Muéstranos tu html y ¿a qué entrada quieres enfocarnos? ¿El más cercano? -

4 Respuestas

http://jsfiddle.net/HenryGarle/LXngq/

<span>
    <br>
        Span
    <br>
    <input id="InputToFocus" type="text">
</span>

$('span').click(function(){
    $('#InputToFocus').focus();
});

Parece que funciona bien. Probablemente sea un problema con sus selectores. ¿Podrías publicar la estructura de tu HTML alrededor de la entrada?

Respondido el 02 de Septiembre de 11 a las 18:09

Si no id al elemento de entrada, entonces no necesita javascript para hacer esto. Puedes usar for atributo con un label etiqueta que apunta al ID del elemento de entrada. Prueba esto

Acoplar manifestación

<label for="input1">Name</label>
<input id="input1" type="text" />

Si hace clic en el texto Nombre, el foco se establecerá en el campo de entrada.

Respondido el 02 de Septiembre de 11 a las 18:09

$( "input" ).focus(function() {
  $( this ).next( "span" ).css( "display", "inline" ).fadeOut( 1000 );
});
span {
    display: none;
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p><input type="text"> <span>focus fire</span></p>
<p><input type="password"> <span>focus fire</span></p>

https://api.jquery.com/focus/

Respondido el 12 de Septiembre de 19 a las 21:09

Creo que $ ('# header.search input') devuelve un montón de ENTRADAS, no solo una, por lo que es posible que JQuery no sepa cuál enfocar. Deberá decidir en cuál enfocarse.

Respondido el 02 de Septiembre de 11 a las 18:09

Ah, no sabía nada de JSFiddle. Gracias. - Obi

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.