Помощник
|
Не работает скрипт |
SilverCross
|
Сообщение
#1
|
||
|
|
||
|
|||
Apay |
4.1.2012, 17:23;
Ответить: Apay
Сообщение
#2
|
|
|
|
|
SilverCross
|
Сообщение
#3
|
|
Apay, нет, не работает
|
|
|
texno |
4.1.2012, 21:07;
Ответить: texno
Сообщение
#4
|
|
скорей всего тут, можно попробовать заменить на innerHTML Не можно, а нужно, innerText это только для осла. Непонятно зачем текст резать в массив, зачем? Почему нельзя пройтись по всей строке, зачем строку резать а потом идти циклом по мелким кускам? И хотелось бы реальный текст увидеть. |
|
|
Apay |
5.1.2012, 9:09;
Ответить: Apay
Сообщение
#5
|
|
резюмируя сказанное мной и texno получаем
<script type="text/javascript">
function syntax(){ tags = [ "<html>", "<head>", "<body>" ]; var text = document.getElementById('text').innerHTML; for( i in tags ) text = text.replace( new RegExp("("+tags[i]+")","g"), "<b>$1</b>" ); text = text.replace( new RegExp("(<b>){2,}","g"), "<b>" ).replace( new RegExp("(</b>){2,}","g"), "</b>" ); document.getElementById('a').innerHTML=text; } </script> <div contenteditable='true' id='text' onkeyup='syntax();' style="height:50px;"></div> <div id='a'></div> |
|
|
SilverCross
|
Сообщение
#6
|
|
Apay,
texno, черт, ребята, то что нужно! спасибо большое! поясню свой ход я делаю, скажем так, подсветку синтаксиса я думал весь текст разбивать на массив отдельный елемент массива - слово потом бегать по циклу и искать, есть ли совпадения с 1го и 2го массива и если есть, заменять елемент массива (который разбивал на слова), на елемент, подчеркнутый жирным текстом и функц. join присоединять его |
|
|
SilverCross
|
Сообщение
#7
|
|
[JS]
<style> .tags { color:#a511b2; } .parameters { color:#ba840f; } </style> <script type="text/javascript"> function syntax(){ tags = [ "<", ">", "html", "body", "head"]; parameters = ["width", "height", "border", "background"]; var div = document.getElementById('text'); var text = document.getElementById('text').innerHTML; for( i in tags ) text = text.replace( new RegExp("("+tags[i]+")","g"), "<span class='tags'>$1</span>" ); for (i in parameters) text = text.replace( new RegExp("("+parameters[i]+")","g"), "<span class='parameters'>$1</span>" ); document.getElementById('text').innerHTML="<code>"+text+"</code>"; if (div.createTextRange) { var r = div.createTextRange(); r.collapse(false); r.select(); } } </script> <div contenteditable='true' id='text' onkeyup='syntax();' style="height:50px;"></div> [/JS] теперь нужно изменять текст прямиком в div все заменяет, но после каждого введенного символа курсор перемещается в начало строки, а нужно чтобы оставался в конце строки как такое реализовать? |
|
|
texno |
6.1.2012, 17:55;
Ответить: texno
Сообщение
#8
|
|
Я пытался найти управление курсором для contenteditable с нулевым успехом. Если тебе повезёт больше, поделись, тоже интересно.
Переходи на инпут без бордюра, для полей есть все нужные функции. |
|
|
SilverCross
|
Сообщение
#9
|
|
texno, т.е. на Textarea?
это будет сложнее... смотрел скрипты с подсветкой под textarea...километровые, ужасные, ничего не понятно была идея, опять же, вытягивать строку с поля, бить на массив, сравнивать с вторым массивом, и если совпадение есть, применять style.color к елементу массива, опять же соединять и бросать обратно в поле это лично мое мнение, но может есть вариант проще? или , скажем, более правильный? |
|
|
SilverCross
|
Сообщение
#10
|
|
глупость написал, не работает, есть идеи?
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Крауд-маркетинг который работает | Эффективные Ру-ссылки | 1 | Azyuka | 1055 | 13.2.2024, 19:36 автор: tascha56 |
|
Скрипт поисковика видео StrongTube | 3 | 3josoft | 1574 | 14.8.2023, 14:45 автор: 3josoft |
|
Скрипт приема платежей p2p с карты на карту card2card Скрипт приема платежей p2p с карты на карту card2card |
15 | zladey1986 | 7834 | 26.3.2023, 8:54 автор: Palundra |
|
Продам скрипт перевода постов и комментариев | 4 | Tutich | 787 | 19.1.2023, 17:23 автор: Tutich |
|
Битрикс скрипт нативной установки | 3 | Nemo | 2451 | 20.11.2022, 10:09 автор: Webmaster24 |
Текстовая версия | Сейчас: 20.4.2024, 7:14 |