Me gustaría colocar el cursor en un campo de entrada después de un vínculo específico que se hace clic. Estoy usando esto por un pequeño motor de búsqueda.

Imaginar un campo de entrada: []. A continuación algunos enlaces que es la adición de una cadena como: Dinamarca, Inglaterra, etc. para el campo de entrada.

Ahora necesito que el cursor se coloca como esta: «Dinamarca, [aquí]».

Es esto posible?

* ACTUALIZACIÓN *

Estoy usando este código ahora para reemplazar el texto, ¿cómo se puede añadir la «posición del cursor»-trick con esto?

$('#denmark').click(function(){     
   $('#searchBoxBig').val('Denmark, ');
});
  • ¿Quieres varios clics para añadir o reemplazar el texto?
  • Sustituir el texto.. he actualizado a la pregunta con el texto que yo uso ahora mismo
  • Si usted también desea mover el cursor a la parte visible del navegador, eche un vistazo a esta respuesta: stackoverflow.com/questions/7892902/…
  • Parece que ya está haciendo eso?
  • Tómelo con calma tio.. en Serio 😀
InformationsquelleAutor skolind | 2011-10-30

3 Comentarios

  1. 28

    Puede establecer cuando el cursor está en un cuadro de entrada con el selectionStart y selectionEnd propiedades. Si usted no desea que el texto se ha seleccionado, simplemente les hace iguales el uno al otro.

    He aquí cómo usted puede hacerlo:

    var input = $("input");
    input[0].selectionStart = input[0].selectionEnd = input.val().length;
    • No importa, este lo hizo. Es genial! Gracias Charlie!:)
    • esto no funciona en mobile safari para mí, tenía que usar la respuesta de Nicolas Modrzyk.
  2. 40

    sí, captura el evento click en el anclaje de evitar la acción por defecto y se centran en el campo.

    la función de contexto contiene el elemento que se ha hecho clic, así que u puede calcular el campo de aplicar el enfoque de la llamada en.

    $(anchorSelector).live("click", function(e) {
       e.preventDefault(); 
    
       $(fieldSelector).focus();
    
       return false;
    });
    • He actualizado a la pregunta, ¿cómo se puede añadir el truco a mi actual código, para reemplazar el texto?
    • Este es el camino a seguir!
    • esto también funciona en el móvil de safari! gracias!
    • Prácticamente y con una nueva actualización de Jquery debemos ir como este $(document).on("click","#go_to_comments", function(e) { e.preventDefault(); $("#commentaire").focus() return false; })

Dejar respuesta

Please enter your comment!
Please enter your name here