В contentEditable-DIV я пытаюсь получить HTML-код от strat-Position 0 до конечной позиции, где пользователь нажал.Как я могу получить HTML-код в contentEditable-DIV
<div id="MyEditableId" contentEditable="true">
1. Some text 123. <span style="background-color: #0CF;">text 123</span> 456 <span style="background-color: #9F3;">2-> abc </span>
<br />
<p> E.g. here is clicked: "click" Text after click </p>
<p></p>
<br />
end of text.
</div>
Что-то вроде нижеследующего фрагмента кода, который доставляет текст от 0 до конца щелкнутого узла. Но мне нужен также HTML-код в contentEditable-DIV.
$('#MyEditableId').on('mouseup', function(event) {
var MyEditable = document.getElementById('MyEditableId');
MyEditable.focus();
range = document.createRange();
// endOffset: It will be better the length of where actually was clicked, e.g. after 15-characters. But this.length will be also ok.
endOffset = $(this).length;
range.setStart(MyEditable.firstChild,0);
range.setEnd(event.target,endOffset);
var selection = window.getSelection();
selection.addRange(range);
// Below I get the selected text from 0 to end of clicked node. But I need the selected HTML-Code from 0 to end of clicked position.
alert(window.getSelection());
});
Я ожидаю, что в результате чего-то выглядит следующим образом:
1. Some text 123. <span style="background-color: #0CF;">text 123</span> 456 <span style="background-color: #9F3;">2-> abc </span>
<br />
<p> E.g. here is clicked: "click"
Как я могу получить HTML-код вместо текста в моей contentEditable-DIV? Спасибо заранее.
Спасибо, но я не буду все содержание DIV, например '$ ('# MyDiv'). HTML()'. Я получаю содержимое Div от позиции 0 до щелкнутой позиции как HTML-код, а не как текст. – user3815508
Попробуйте это http://stackoverflow.com/questions/2444430/how-to-get-a-word-under-cursor-using-javascript, он показывает, как выбрать html с помощью курсора, надеюсь, он может вам помочь. – GibboK