Как я выбираю произвольный текст на странице с помощью JavaScript?

Учитывая увеличивающийся фокус к выполнению динамических языков (da-vinci vm и т.д.) на JVM и растущем числе динамических языков, которые действительно работают на нем (JRuby, Grrovy, Jython) я думаю, что варианты использования просто увеличиваются. Некоторые сценарии, которые я нашел действительно, извлекли выгоду,

  1. , Разработка прототипа - использует RoR или Grails для создания быстрых прототипов с преимуществом способности к runn это на стандартном сервере приложений и (возможно) повторном использовании существующие сервисы и т.д.

  2. Тестирование - правильные модульные тесты намного намного быстрее на динамических языках

  3. тест Производительности/автоматизации, пишущий сценарий - некоторые из этих инструментов начинают позволять стандарту использования динамический язык выбора записать сценарии тестирования вместо собственных языков сценария. Дополнительная льгота могла бы быть к способному для многократного использования некоторого кода модульного теста, который Вы уже записали.

5
задан Lucas 15 November 2009 в 01:27
поделиться

3 ответа

Если вам не нужно писать свои собственные, вы можете посмотреть tinyMCE, http : //tinymce.moxiecode.com/ , так как это хороший редактор WYSIWYG в javascript.

Для этого вам, вероятно, захочется посмотреть что-то вроде этого: http://codingtricks.blogspot.com/2009/03/javascript-select-partial-text-in-div.html

Также могут быть полезны: Произошла ошибка с ранжированием JavaScript https://developer.mozilla.org/en/DOM/window.getSelection

То, что вы пытаетесь сделать, будет сложным, так как вам нужно будет занять выбранную область, удалите все теги, а затем вставьте нужный тег для выбранной области.

2
ответ дан 18 December 2019 в 11:57
поделиться

Вы можете использовать document.getElementById ('your_text_id'). SetSelectionRange (start, end); , а также Math.random () для генерации случайных чисел для start и end

2
ответ дан 18 December 2019 в 11:57
поделиться

Просто чтобы подробно ответить на свой вопрос, чтобы кто-то, ищущий что-то подобное, не должен был иди искать в другом месте ...

Код, который я в итоге использовал, был примерно таким:

var range = document.createRange();
range.setStart( <get the node the selection starts in>, <char offset in that node> );
range.setEnd( <get the node the selection ends in>, <char offset in that node> ); 

window.getSelection().removeAllRanges();
window.getSelection().addRange(range);

Большое спасибо Джеймсу Блэку за то, что он указал мне в правильном направлении.

11
ответ дан 18 December 2019 в 11:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: