Есть скрипт помогающий оформить код при редактировании https://jsfiddle.net/L5qhzdh7/
Вопроса 2:
1) Если поставить курсор в конец набранного текста и нажать "цитата" или "код" то теги появятся всё равно в самом начале поля, в первой строке. Что нужно поменять что бы теги вставлялись там где стоит курсор?
2) Функции CodeSelection() и QuoteSelection() абсолютно идентичны - только теги разные вставляются, можно ведь сократить это код... Как это правильно сделать и какое событие ловить для общей вынесенной части функции, все мои попытки привели к неработоспособности.
Code.onclick = function ShowSelection()
{
var textComponent = document.getElementById('Editor');
var selectedText;
// IE version
if (document.selection != undefined)
{
textComponent.focus();
var sel = document.selection.createRange();
selectedText = sel.text;
}
// Mozilla version
else if (textComponent.selectionStart != undefined)
{
var startPos = textComponent.selectionStart;
var endPos = textComponent.selectionEnd;
selectedText = textComponent.value.substring(startPos, endPos)
}
var textareaValue = document.getElementById('Editor').value;
var textareaValueNew = textareaValue.replace(selectedText,'<code>'+selectedText+'</code>');
document.getElementById('Editor').value = textareaValueNew;
}
Img.onclick = function ImageSelection()
{
var textComponent = document.getElementById('Editor');
var selectedText;
// IE version
if (document.selection != undefined)
{
textComponent.focus();
var sel = document.selection.createRange();
selectedText = sel.text;
}
// Mozilla version
else if (textComponent.selectionStart != undefined)
{
var startPos = textComponent.selectionStart;
var endPos = textComponent.selectionEnd;
selectedText = textComponent.value.substring(startPos, endPos)
}
if(selectedText === ''){
var ImgURL = prompt("Введите адрес картинки", '');
if(ImgURL !== null){
var textareaValue = document.getElementById('Editor').value;
var textareaValueNew = textareaValue.replace(selectedText,'<img src="'+ImgURL+'">');
document.getElementById('Editor').value = textareaValueNew;
}
}
}
Quote.onclick = function ImageSelection()
{
var textComponent = document.getElementById('Editor');
var selectedText;
// IE version
if (document.selection != undefined)
{
textComponent.focus();
var sel = document.selection.createRange();
selectedText = sel.text;
}
// Mozilla version
else if (textComponent.selectionStart != undefined)
{
var startPos = textComponent.selectionStart;
var endPos = textComponent.selectionEnd;
selectedText = textComponent.value.substring(startPos, endPos)
}
var textareaValue = document.getElementById('Editor').value;
var textareaValueNew = textareaValue.replace(selectedText,'<q>'+selectedText+'</q>');
document.getElementById('Editor').value = textareaValueNew;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как получить this класса, внутри метода класса, не прибегая к bind? Тк в этом методе нужен свой this
Как скопировать в буфер обмена текст (на Android) при помощи JS?
Доброго времени суток Делаю в Angular 2 первые шаги, всплыла задача чтения данных из базы под управлением MS SQL server 2008Нагуглил две библиотеки - mssql и tedious,...