1.
if (textSelection = window.getSelection)
должна быть
if (window.getSelection)
2. так как click состоит из mousedown, mouseup
$('#link').click стирает предыдущее выделение, если выделение было на другом элементе кроме #link'
надо менять логику скрипта или как вариант сделать так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body><div id="link">Выдели текст и кликни тут!!!</div><div id="link0">всякий разный текст</div><div id="link1">всякий разный текст</div><div id="link2">всякий разный текст</div>
<script language="JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
var textSelection = '';
function getSel() { //функция пишет в переменную выделение мышкой
if (window.getSelection) // !IE
textSelection = window.getSelection().toString();
else // IE
textSelection = document.selection.createRange().text;
return textSelection;
}
$('body').mouseup(function () {
getSel();
});
$('#link').mouseup(function () {
if (textSelection) alert(textSelection);
});
</script>
</body>
</html>