Получить выделенный на странице текст
Доброго.
Как получить выделенный на странице текст? пробую так: <p>many symbols </p> <script> function that_click() { var selected_text= window.getSelection(); alert(selected_text); } </script> <a onclick="that_click()">click to try</a> в результате получаю пустой алерт, хотя текст выделил. P.S. браузер FireFox, для IE другая функция, вычитал уже Так все же, как получить выделенный текст? |
Не знаю как у вас но у меня все работает:
<div>Выдели меня мышкой)))))))</div> <script> document.onmouseup = function() { var selection = window.getSelection(); alert(selection.toString()); } </script> |
Цитата:
если повесить на отдельную кнопку клика, что вне элемента, то не пашет: <div>Выдели меня мышкой)))))))</div> <a onclick="click_that()">click</a> <script> function click_that() { var selection = window.getSelection(); alert(selection.toString()); } </script> Как сделать, что бы работало? |
Не знаю как у вас, но у меня все хорошо работает:
<div>Выдели меня мышкой)))))))</div> <script> document.onmouseup = function() { var selectedText = ''; if (window.getSelection) { var selection = window.getSelection(); selectedText = selection.toString(); } else if (document.selection) { var range = document.selection.createRange(); selectedText = range.htmlText; } alert(selectedText); } </script> |
а попробуйте повесить onclick на какой-то элемент и вызвать от туда, заработает?
<div>some text to select</div> <a onclick="alert(window.getSelection())">click</a> к примеру, сначала снимается выделение, а после запускается скрипт, как бы сделать, что бы вместе с выделением запускалось? |
Цитата:
<div>Выдели меня мышкой)))))))</div> <a onclick="alert(window.getLastSelection())">click</a> <script> (function() { var selectedText = ''; document.onmouseup = function() { if (window.getSelection) { var selection = window.getSelection(); selectedText = selection.toString(); } else if (document.selection) { var range = document.selection.createRange(); selectedText = range.htmlText; } } window.getLastSelection = function() { return selectedText; } })(); </script> |
что-то пустое возвращает снова, если alert поставить в получение выделенного текста - получает, но в alert по клику пустое значение
|
Цитата:
<div>Выдели меня мышкой)))))))</div> <a onclick="alert(window.getLastSelection())">click</a> <script> (function() { var selectedText = ''; document.onmouseup = function() { setTimeout(function() { if (window.getSelection) { var selection = window.getSelection(); selectedText = selection.toString(); } else if (document.selection) { var range = document.selection.createRange(); selectedText = range.htmlText; } }, 10); } window.getLastSelection = function() { return selectedText; } })(); </script> |
Часовой пояс GMT +3, время: 02:11. |