Событие 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, время: 14:16. |