Хорошо, только что попробовал эту демонстрацию.и это работает без нареканий.это даже работает на Firefox.Только что опробовал оперу и сафари, и это работает на них обоих.Даже если я выберу половину буквы или цифры, он просто возвращает выделенный текст, который и ожидается, когда вы делаете выбор.
Попробуйте его на новой веб-странице, хотя только для целей тестирования.затем, когда это сработает, и вы будете удовлетворены результатами, начните вносить изменения в существующую страницу.
Это намного проще, чем ваш код.Это кросс-браузерный скрипт для получения текста, выбранного пользователем
<script language=javascript>
function getSelText()
{
var txt = '';
if (window.getSelection)
{
txt = window.getSelection();
}
else if (document.getSelection)
{
txt = document.getSelection();
}
else if (document.selection)
{
txt = document.selection.createRange().text;
}
else return;
document.aform.selectedtext.value = txt;
}
</script>
<input type="button" value="Get selection" onmousedown="getSelText()">
<form name=aform >
<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>
http://www.codetoad.com/javascript_get_selected_text.asp
Надеюсь, это поможет.
PK