Я хочу получить выбор блока текста (включая div и форматирование), у меня есть функция text_redesign, которая должна это сделать, и я вызываю его onlick на какую-то кнопку. Но он выбирает только место в кнопке, на которое я щелкнул, то есть на кнопке написано "Реструктуризация", и если я нажму рядом с "R", я получу "R span class=" someclass_tigran "/span estructure", и если я нажму рядом с 't', чем я получаю "Restruc span class=" someclass_tigran "/span ture". Поэтому он получает место, где я щелкнул, но не выбранный текст.
function text_redesign()
{
var text_comonent_area = $("#text_block_1").contents().find('iframe'); //.contents();
//var len = text_comonent_area.value.length;
//var start = text_comonent_area.selectionStart;
//var end = text_comonent_area.selectionEnd;
//var sel = text_comonent_area.value.substring(start, end);
//console.log("start " + start + " end " + end);
var selObj = window.getSelection()
console.log(selObj);
var selRange = selObj.getRangeAt(0);
console.log(selRange);
if(selObj.getRangeAt){ // thats for FF
console.log("sdfsdf33");
var range = selObj.getRangeAt(0);
var newNode = document.createElement("span");
newNode.setAttribute('class', 'someclass_tigran');
range.surroundContents(newNode);
}
}
PS Я хочу применить его к iframe, но я пробовал как внутри рамки, так и для документа, и результат такой же. Я новичок в выборе, поэтому, если вы знаете, где моя ошибка может быть, скажите, и я буду google. Теперь я понятия не имею, что искать.
Я думаю, лучше проверить выделенный текст в функции text_redesign.
Посмотрите на этот пример: как заменить выделенный текст на html в контентном элементе?