Hola:
Lo que se puede saber fácilmente con los navegadores normales es el sitio donde se encuentra el cursor con la propiedad selectionStart... y si hay texto seleccionado puede saberse cuál es con la diferencia entre selectionEnd y selectionStart (siempre que hablemos de campos de texto)
Tal vez el script de esta página:
Editor de texto pueda servirte...
Saludos