How to insert a new <div> by clicking on the cursor position of an existing <div>
this.$el.find('#divname').append(newDivHtml) will be added to newDivHTML to an existing div . However, I considered this scenario:
- In existing
div1user edits free text and presses the button - When a button is pressed, a pop-up window appears with a list of parameters.
- Selecting one option inserts
newDivHTMLat the cursor position of thediv1.
I tried : http://jsfiddle.net/jwvha/1/
function pasteHtmlAtCaret(html) { var sel, range; if (window.getSelection) { // IE9 and non-IE sel = window.getSelection(); if (sel.getRangeAt && sel.rangeCount) { range = sel.getRangeAt(0); range.deleteContents(); // Range.createContextualFragment() would be useful here but is // non-standard and not supported in all browsers (IE9, for one) var el = document.createElement("div"); el.innerHTML = html; var frag = document.createDocumentFragment(), node, lastNode; while ( (node = el.firstChild) ) { lastNode = frag.appendChild(node); } range.insertNode(frag); // Preserve the selection if (lastNode) { range = range.cloneRange(); range.setStartAfter(lastNode); range.collapse(true); sel.removeAllRanges(); sel.addRange(range); } } } else if (document.selection && document.selection.type != "Control") { // IE < 9 document.selection.createRange().pasteHTML(html); } } 2. doesn't seems to work for that.$e1.find('#sectionContentSimple').insertAdjacentHTML(100, newhtml); +4