Проблема JS / jQuery ExecCommand
-
25-10-2019 - |
Вопрос
У меня проблемы (завершены) с ExecCommand, так что вы очень цените - я не сомневаюсь, что я лаяю не то дерево, но ..... В любом случае
У меня такой дивинг
<div class="editable" id="editor" contenteditable="true">
<2>Some text in here</h2> blah blah blah ...
</div>
Это "редактируемое" т.е. document.designMode = 'on';
- Получает это «состояние» в фокусе. При размытии это меняется на document.designMode = 'off';
У меня есть «кнопка тестирования»
<input type="button" id="bold" value="Bold">
Что, когда «щелкнутый» делает «выделенный текст» жирным шрифтом - следовательно, execcommand
Пока что у меня есть что -то вроде этого:
function getSelected() {
if(window.getSelection) { return window.getSelection(); }
else if(document.getSelection) { return document.getSelection(); }
else {
var selection = document.selection && document.selection.createRange();
if(selection.text) { return selection.text; }
return false;
}
return false;
}
$('#bold').click(function(){
var selection = getSelected();
alert(selection);
});
Оповещение (жирный щелчок) дает мне выделенный/выбранный текст, но я не могу понять, как «повернуть его». Я думаю, мне нужно получить доступ к Innerhtml или что -то в этом роде?
Помогите очень ценить - заранее спасибо. О, и я не хочу использовать ни I-фрейм, ни текстовуюе
Решение
Я настоятельно рекомендую использовать Стройный Для борьбы с выбором текста.
Диапазон JavaScript Cross-Browser и библиотека выбора. Он предоставляет простой API на основе стандартов для выполнения общего диапазона DOM и задач отбора во всех основных браузерах, абстрагируя дико различные реализации этой функции между интернет-проводниками и браузерами, соответствующими DOM.
Вы можете использовать CSS Class Applier Module чтобы выделить текст (живая демонстрация).