Как выделить текст на странице?
нужно сделать выделение текста в див/спан и т.п. контейнере.
Устроит даже по онклику для конкретного контейнера, если произвольно нельзя. В сети решения нет. Посему, если кто подскажет кроссбраузерное решение, с меня приз. |
Цитата:
|
Цитата:
Хотя к сожалению, полного решения нет, т.к. у меня задача еще и выделить часть. Но может как-то вывернусь уже сам. И что интересно, искал примерно неделю. А тут - бац, и все есть и еще и работает. Пасибо. |
Приз в студию.
|
Цитата:
Где-то в районе $5 вполне могу. Токо надо решение и для частичного выделения текста. Еще за $5 мне нужно: • копипаст в contentEditable контейнер без разрывов (в опере глючит, добавляя nbsp при копипасте) • переход на нужный рядок в контейнере • нумерация рядков Еще за $5: • разметка синтаксиса • отлов пиксельных координат курсора (для вывода подстановки кода) • поиск/замена в контейнере Еще за $5: • редактирование в contentEditable контейнере в режиме столбцов (без понятия, возможно ли такое) |
Цитата:
Цитата:
|
Цитата:
Сделать выделение, как вы выделяете, обведя мышкой, чтобы потом правой кнопкой копировать/удалять етц. да, токо чтобы код был доступен для редактирования |
Событие onselect поддерживают <input> и <textarea>.
|
наводишь курсор мыши на текст, жмешь ЛКМ и не отпуская ее, выделяешь что нужно :D
|
Цитата:
|
Вам же всё уже скинули. Если вы хотите сделать визивиг, то либо делайте его сами, либо раскошеливайтесь побольше, чем на 5 долларов.
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
до этого "если произвольно нельзя" понимаете, надо еще и часть. Вот если еще и часть, то с меня однозначно приз :) Цитата:
|
Цитата:
|
Цитата:
прим. перев.: часть текста. ;) |
elf2002, ну так там же есть всё!
<html>
<head>
<script>
function selectSomeText(){
var range= document.createRange();
var elem= document.getElementById("span");
var sel = window.getSelection();
range.setStart(elem.firstChild, 1);
range.setEnd(elem.firstChild, 5);
sel.removeAllRanges();
sel.addRange(range);
};
</script>
</head>
<body>
<span id="span">atexta</span><br />
<button onclick="selectSomeText()">select some text</button>
</body>
</html>
С оговоркой, правда, что это для новых браузеров. |
Хе-хе, я такой-же пример сделал:
<!DOCTYPE HTML>
<html>
<body>Наведи на меня.
<script>
var range = document.createRange(),
select = window.getSelection(),
node = document.body.firstChild;
range.setStart(node, 7);
range.setEnd(node, 9);
document.body.onmouseover=function(){
select.addRange(range)
}
document.body.onmouseout=function(){
select.removeRange(range)
}
</script>
</body>
</html>
А в дебри ie никто лезть не хочет.)) |
Цитата:
Кстати, всё забываю выяснить - в девятке есть нормальная поддержка Range? |
Спасибо, пацаны, попробуем.
Авось что-то и получится. |
Цитата:
хотя может и ошибаюсь... дай те пример для теста, ща попробую открыть в виртуалке |
Ха... работают оба ваши примера в ИЕ9...
|
| Часовой пояс GMT +3, время: 19:36. |