Событие onselect
Добрый день.
У меня такой вопрос: - например есть текст <textarea>несколько слов</textarea> можно-ли при выделении слова "слов" (на <textarea> подвешен обработчик события select), получить это слово для дальнейшей обработки(например для отправки его на сервер с помощью AJAX). Спасибо. |
text = window.getSelection().toString() - для нормальных
text = document.selection.createRange().text - для IE |
alert "выбрасывает" но он пустой.
|
В смысле через alert пытаюсь вывести выделенный фрагмент.
|
settype,
получаем-пользовательское-выделение |
alert(window.getSelection().toString()) у вас не выводит? А вообще рони вам правильную ссылку дал |
Честно говоря не понимаю, наверное опыта маловато, извините.
Вот код:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body>
<form>
<textarea onselect='s()'>Время на сайте</textarea>
<input type='text' value='fdghfh' onclick='s()'/>
<input type="button" onclick="s()" value="Вывести выделенный фрагмент"/>
</form>
<p onclick='s()'>yiogyotyiotyuo</p>
<script>
/*function s(){
if(window.getSelection)
txt = window.getSelection().toString();
else if(document.getSelection)
txt = document.getSelection();
else if(document.selection)
txt = document.selection.createRange().text;
return txt;
}*/
function s(){
if ( window.getSelection ){
alert(window.getSelection().toString());
}
else if ( document.getSelection ) {
alert(document.getSelection().toString());
}
}
</script>
</body>
</html>
Обработчики onclick срабатывают и выводят выделенный фрагмент на <p></p>, но на <textarea> и <input> alert появляется но без фрагмента(как onclick так и onselect). А меня интересует именно onselect в <textarea> то-есть получить фрагмент при выделении. |
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body>
<form>
<textarea id="id-0" onmouseup='s(this)'>Время на сайте</textarea>
<input type="button" onclick="s(document.getElementById('id-0')
)" value="Вывести выделенный фрагмент"/>
</form>
<script>
function s(a) {
var b=a.value.substring(a.selectionStart, a.selectionEnd)
if(b) alert(b)
}
</script>
</body>
</html>
|
АБАЛДЕТЬ!!!:)
Да-а-а, +1448 это вам не плюшками баловаться, ЭТО ОПЫТ! ОГРОМНОЕ СПАСИБО! А где можно подробнее узнать о elem.selectionStart, elem.selectionEnd. Спасибо. |
Deff,
веселье начинается в IE8 (: |
| Часовой пояс GMT +3, время: 09:14. |