В моём редакторе есть несколько кнопок и я никак не могу сделать так чтобы можно было использовать несколько для одной фразы но для разных символов, перепробовала несколько вариантов, не помогло. К каждой кнопки привязывается функция, в которой вызывается функция представления текста после нажатия, есть также функция сдвига отформатированного текста при вводе символов перед ним, функция слияния отформатированного несколько раз текста. Помогите пожалуйста. Код скину без проблем. Оставлю адрес
lenka2023@mail.ru
function makeBoldStringHtml(sourceStr){
textarea=document.getElementById("text");
expressionText =( document.getElementById("text").value );
document.getElementById("text").innerHTML = expressionText.replace(/\n/g, '<br>');
alert(" makeBoldStringHtml");
var currentSymbolIndex = 0;
var resultStr =" ";
var usedSymbols = 0;
for (var j = 0; j < sourceStr.length; j++){
for (var i = 0; i < boldIndexes.length; i++){
if(i==j){
if (currentSymbolIndex<=boldIndexes[i].startPosition){
resultStr += sourceStr.substring(currentSymbolIndex,boldIndexes[i].startPosition);
resultStr = '<span>'+resultStr+'</span><span class="strong">'+sourceStr.substring(boldIndexes[i].startPosition,boldIndexes[i].startPosition+boldIndexes[i].size)+'</span><span>'+sourceStr.substring(boldIndexes[i].startPosition+boldIndexes[i].size,sourceStr.length)+'</span>';
}
}
}
это функция представления
function Bold()
{
textarea=document.getElementById("text");
document.getElementById("text").focus();
expressionText =( document.getElementById("text").value );
//expressionText = document.getElementById("text").value;
document.getElementById("text").innerHTML = expressionText.replace(/\n/g, '<br>');
var selectionBegin = (textarea.selectionStart < textarea.selectionEnd) ? textarea.selectionStart : textarea.selectionEnd;
var selectionEnd = (textarea.selectionEnd > textarea.selectionStart) ? textarea.selectionEnd : textarea.selectionStart;
boldIndexes.push(new UsedSelection(selectionBegin,selectionEnd-selectionBegin));
AggregateSelection(boldIndexes);
for (var i = 0; i < boldIndexes.length; i++){
var beginIndex = boldIndexes[i].startPosition;
var endIndex = boldIndexes[i].endPosition;
}
boldIndexes.sort(function(a,b) {
return a.startPosition - b.startPosition;
});
console.log('aggregated array:');
for (var i =0; i < boldIndexes.length; i++){
console.log(boldIndexes[i].startPosition + " " + boldIndexes[i].size);
}
var BoldresultStr = makeBoldStringHtml(expressionText);
document.getElementById("RESULTTEXT").innerText= BoldresultStr;
document.getElementById("RESULTHTML").innerHTML= BoldresultStr;
Make();
}
это функция кнопки
таких функций у меня много