В дополнение к главной теме, есть официальный способ реализовать то, что, я думаю, вам нужно в DOM. Вместо событий вы можете использовать объект диапазона.
Рассмотрим, (который работает окончательно на FF3)
window.onclick = function(evt)
{
// retrieves the selection and displays its content
var selectObj = window.getSelection();
alert(selectObj);
// now collapse the selection to the initial point of the selection
var rangeObj = selectObj.getRangeAt(0);
rangeObj.collapse(true);
}
К сожалению, это не совсем так с IE, Opera, Chrome или Safari; не знаю почему, потому что в Opera, Chrome или Safari есть что-то связанное с методами collapse и getRangeAt. Если я узнаю больше, я дам вам знать.
Обновление моего предыдущего ответа, более универсального из которых - это методы выбора объекта и коллапса, collapseToStart, collapseToEnd ( текст ссылки )
Теперь рассмотрим 2.0 из вышеперечисленного:
window.onmouseup = function(evt)
{
var selectObj = window.getSelection();
alert(selectObj); // to get a flavor of what you selected
// works in FF3, Safari, Opera, and Chrome
selectObj.collapseToStart();
// works in FF3, Safari, Chrome (but not opera)
/* selectObj.collapse(document.body, 0); */
// and as the code is native, I have no idea why...
// ...and it makes me sad
}