Posición del cursor dentro de un texto

Es extraño, pero algo tan aparentemente fácil como ubicar la posición en que se encuentra el cursor dentro de un cuadro de texto (un input type=text o un textarea), no ha sido fácil de googlear.

Y una vez has sabido como hacerlo y has resuelto todos los pequeños e interminables problemas que aparecen, te queda un código terriblemente sencillo que, tras verlo, se te puede decir "¿y para esto tanto lío?"... pues sí, tanto lío

Bueno, a lo que íbamos. De la función javascript sólo hay que asignar el valor de "tb" en base al id del elemento sobre el que vamos a trabajar y te devuelve la posición del cursor:

function posicionCursor()
{
       var tb = document.getElementById("miCuadrodeTexto")
        var cursor = -1;
       
        // IE
        if (document.selection && (document.selection != 'undefined'))
        {
            var _range = document.selection.createRange();
            var contador = 0;
            while (_range.move('character', -1))
                contador++;
            cursor = contador;
        }
       // FF
        else if (tb.selectionStart >= 0)
            cursor = tb.selectionStart;
   
       return cursor;
}