Оберните выделенный текст внутри текстовой области сильными тегами, используя javascript / jquery - PullRequest
0 голосов
/ 11 мая 2011

Я хочу создать функцию javascript / jquery, чтобы обернуть фрагмент выделенного текста из текстовой области в сильные теги - аналогично редактору WYSIWYG.

Возможно ли это, и если да, можете ли вы указать мнев правильном направлении.

РЕДАКТИРОВАТЬ:

ОК, так что, надеюсь, более четкое описание того, что я хочу ...

У меня есть текстовое поле намоя страница, которую я могу напечатать.

Затем я хочу иметь возможность выделить часть этого текста и обернуть выделенную часть в <strong> теги

Так что если текстовое поле имелослова one two three и я выделил слово «два», я хочу иметь возможность обернуть это слово в сильные теги - так что становлюсь one <strong>two</strong> three

Надеюсь, это понятнее ... Я знаю, что есть плагинытам, но мне не нужна полная функциональность WYSIWYG.

Ответы [ 2 ]

4 голосов
/ 11 мая 2011

Мои Входы Rangy (ужасное имя, я знаю), плагин jQuery делает это.

Пример кода:

$("#foo").surroundSelectedText("<strong>", "</strong>");

jsFiddle: http://jsfiddle.net/aGJDa/

0 голосов
/ 23 февраля 2013

Я люблю Ранги!Используйте это часто!Но я не хотел включать все это только для этого небольшого приложения, поэтому я сделал это, используя document.execCommand, чтобы обернуть выделенный текст, а затем использовал href (третий параметр CreateLink execCommand), чтобы найти элемент, обернуть егос тем, что я хотел, а затем удалите ссылку:

    document.execCommand('CreateLink', false, 'uniqueid');
    var sel = $('a[href="uniqueid"]');
    sel.wrap('<strong />')
    sel.contents().unwrap();

document.execCommand поддерживается всеми основными браузерами, так что вы должны быть в безопасности, взломав его таким образом.В протестированных мною браузерах сам браузер закроет и откроет для вас теги, поэтому, если вы выбираете от середины одного тега html до середины другого, он должен правильно вкладывать теги.

...