Ese es el código para IE para firefox vas a necesitar combinar:
Código:
if(document.frm.txtArea.selectionStart==undefined) return; //si es FF
var begin = document.frm.txtArea.value.substr(0, document.frm.txtArea.selectionStart);
var selection = document.frm.txtArea.value.substr(document.frm.txtArea.selectionStart, document.frm.txtArea.selectionEnd - document.frm.txtArea.selectionStart);
var end = document.frm.txtArea.value.substr(document.frm.txtArea.selectionEnd);
document.frm.txtArea.value = begin + selection + end;
Para textarea, input y
Código:
var selObj = window.getSelection();
alert(selObj);
var selRange = selObj.getRangeAt(0);
alert(selRange);
para divs y otros