cuando usted haga clic en «hacer una pregunta» aquí en Stackoverflow que ver un texto «¿Qué es la programación de la pregunta? Ser descriptivo.»

yo quiero lo mismo y todo lo que necesito para que se mueva mi cursor al principio del campo de texto. ¿qué tengo que hacer con jquery?

InformationsquelleAutor ajsie | 2010-01-24

4 Comentarios

  1. 26

    Puede ser que es una exageración, pero estas funciones son útiles para seleccionar una parte de un campo de entrada.

    El código de abajo coloque el cursor al primer carácter de la segunda campo.

    <html>
    <head>
        <title>so</title>
    </head>
    <body>
        <input value="stack" />
        <input value="overflow" />
        <script>
            var inp = document.getElementsByTagName('INPUT')[1];
            if (inp.createTextRange) {
                var part = inp.createTextRange();
                part.move("character", 0);
                part.select();
            } else if (inp.setSelectionRange) {
                inp.setSelectionRange(0, 0);
            }
            inp.focus();
        </script>
    </body>
    </html>
  2. 12

    Puede utilizar focus() método. Si mal no recuerdo jQuery, es como este:
    $(«#question_input_field_id»).focus();
    (Si tengo tu pregunta derecha)

    Actualización:
    Ajuste el cursor al principio:

    $("#question_input_field_id").focus();
    $("#question_input_field_id").get(0).setSelectionRange(0,0);
    • si tengo un texto en un campo de texto, a continuación, si yo uso el foco del cursor estará en la final del campo de texto después de que el texto. quiero que sea en el principio, antes que el texto.
    • Lo consiguió. Actualizado mi respuesta original. Funciona con Firefox (es decir, los navegadores Gecko), no está seguro acerca de los demás.
    • Usted no puede utilizar el objeto jQuery con setSelectionRange. Este trabajo será de: $(«#question_input_field_id»)[0].setSelectionRange(0,0);
    • acaba de publicar la respuesta correcta en este hilo de comentarios.
    • Estoy editando la respuesta original según lo sugerido por @Andre para evitar la confusión.
    • setSelectionRange es indefinido para mi lado

  3. 6

    si nos fijamos en el código fuente de stackoverflow > hacer una pregunta, usted encontrará este:

    <table style="width:668px"> 
         <tr> 
             <td style="width:50px"><label for="title">Title</label></td> 
             <td style="padding-left:5px"><input id="title" name="title" type="text" maxlength="300" tabindex="100" style="width:610px" value=""> 
                  <span class="edit-field-overlay">What's your programming question? Be descriptive.</span> 
             </td> 
         </tr> 
    </table>

    lo que realmente está sucediendo es que un código CSS hizo la <span class="edit-field-overlay"> se mueven sobre la parte superior de la caja de entrada y mostrar ocultar cuando sea necesario… y simplemente hacer lo Sejano sugerido.

    • jaja..que era bastante ‘cojo’ para ser honesto…pero bueno…funcionó:)
    • jeje.. a veces, las cosas pueden ser fácil… si usted acaba de no pasar por alto en un problema… sólo tienes que engañar el ojo.. 🙂
    • +1 he encontrado este particular, la brujería para ser exactamente lo que necesitaba.
  4. -1
     $('#txtYourTextBox').blur(function () { 
        var val = $("#txtYourTextBox").val();
        $("#txtYourTextBox").val('');
        setTimeout(function () { $("#txtYourTextBox").val(val); }, 20);
    });
    • Se parece a este código almacena el valor de la entrada, aclara, a continuación, vuelve a aplicar el mismo valor. Todo esto ocurre cada vez que el enfoque de las hojas de la entrada. No estoy seguro de cómo se supone que esta es la respuesta a la pregunta.

Dejar respuesta

Please enter your comment!
Please enter your name here