Выбор в JavaScript

0

Я хочу получить выбор блока текста (включая 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. Теперь я понятия не имею, что искать.

  • 1
    Не уверен, что понимаю вашу проблему. Не могли бы вы также предоставить соответствующую HTML-разметку? Если вы выделите какой-то текст в DIV, а затем нажмете кнопку, вы потеряете выделение. Итак, каково ожидаемое поведение?
  • 0
    Ожидаемый: выбранная область (включая div и форматирование) будет зарезана промежутком. Нет, я не теряю выбор. Осталось, но вместо функции выбора кнопки.
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Я думаю, лучше проверить выделенный текст в функции text_redesign.

Посмотрите на этот пример: как заменить выделенный текст на html в контентном элементе?

  • 0
    Проблема была в том, что область была выбрана, когда я нажал кнопку.
  • 0
    Рад слышать, что вы решили проблему. : D Молодец.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню