Показать сообщение отдельно
  #2 (permalink)  
Старый 16.08.2014, 16:01
Интересующийся
Отправить личное сообщение для vanicon Посмотреть профиль Найти все сообщения от vanicon
 
Регистрация: 17.01.2010
Сообщений: 15

Вот, нашел на просторах интернета, вроде работает
function insertNodeOverSelection(node, containerNode) {
	var sel, range, html;
	if (window.getSelection) {
		sel = window.getSelection();
		if (sel.getRangeAt && sel.rangeCount) {
			range = sel.getRangeAt(0);
			if (isOrContainsNode(containerNode, range.commonAncestorContainer)) {
				range.deleteContents();
				range.insertNode(node);
				range = range.cloneRange();
				range.setStartAfter(node);
				range.collapse(true);
				sel.removeAllRanges();
				sel.addRange(range);
			} else {
				containerNode.appendChild(node);
			}
		}
	} else if (document.selection && document.selection.createRange) {
		range = document.selection.createRange();
		if (isOrContainsNode(containerNode, range.parentElement())) {
			html = (node.nodeType == 3) ? node.data : node.outerHTML;
			range.pasteHTML(html);
		} else {
			containerNode.appendChild(node);
		}
	}
}
Ответить с цитированием