вы можете наблюдать событие mouseup на каждом элементе div и привязывать к нему следующий метод:
var endpoint = null
function getselected(event){
endpoint = event.target;
var t = '';
if(window.getSelection){
t = window.getSelection();
}else if(document.getSelection){
t = document.getSelection();
}else if(document.selection){
t = document.selection.createRange().text;
}
return t;
}
этот метод вернет выделенный текст и сообщит вам, что процесс выбора завершился на элементе div, вызвавшем событие. если вам нужна начальная точка для, вам нужно привязать событие mousedown к div-элементам, которое будет хранить id элементов в переменной, чтобы вы могли определить начальную и конечную точку процесса выбора и выяснить, какие div-ы лежат между ними.
var startpoint = null;
function beginSelection(event){
startpoint = event.target;
}
если метод getSelected возвращает пустую строку, вам следует сбросить начальную и конечную точки.