selectionstart posicionar posicion jquery input cursor-position

selectionstart - posicionar cursor en input jquery



jQuery: ¿Obtener la posición del cursor del texto en la entrada sin el código específico del navegador? (4)

No puede hacer esto sin un código específico del navegador, ya que implementan la selección de texto variado de forma ligeramente diferente. Sin embargo, hay complementos que resumen esto. Para obtener exactamente lo que buscas, está el complemento jQuery Caret (jCaret) .

Puedes probar una demostración aquí .

Para que tu código obtenga el puesto, podrías hacer algo como esto:

$("#myTextInput").bind("keydown keypress mousemove", function() { alert("Current position: " + $(this).caret().start); });

Puedes probarlo aquí .

Esta pregunta ya tiene una respuesta aquí:

¿Hay alguna forma en jQuery de obtener la posición actual del cursor en una entrada de texto sin hacer un código específico del navegador?

Como en:

<input id="myTextInput" type="text" value="some text" >

el cursor está después de la "x" de "algún texto", ¿puedo obtener "8"?


Una advertencia sobre el plugin Jquery Caret.

Entrará en conflicto con el complemento de Entrada enmascarada (o viceversa). Afortunadamente, el complemento de Entrada enmascarada incluye una función propia de caret (), que puede usar de manera muy similar al complemento Caret para sus necesidades básicas: $ (elemento) .caret (). Begin o .end


Usando la sintaxis text_element.selectionStart podemos obtener la posición inicial de la selección de un texto en términos del índice del primer carácter del texto seleccionado en text_element.value y en caso de que deseemos obtener el mismo del último carácter en la selección que tenemos que usar text_element.selectionEnd .

Úselo de la siguiente manera:

<input type=text id=t1 value=abcd> <button onclick="alert(document.getElementById(''t1'').selectionStart)">check position</button>

Te estoy dando el fiddle_demo