Получить выделенный на странице текст
Доброго.
Как получить выделенный на странице текст? пробую так:
<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, время: 05:30. |