दिलचस्प पोस्ट
एंड्रॉइड / जावा में JSON अर्रे चलना स्ट्रिंग में चरित्र के nth घटना को कैसे ढूंढें? MySQL जहां क्वेरी क्वेरी डालें जावास्क्रिप्ट में टाइप बेशर क्या है? अपाचे के लिए यूटीएफ -8 में डिफ़ॉल्ट एन्कोडिंग को कैसे बदलना है? CURLOPT_SSL_VERIFYHOST को अक्षम करने के सुरक्षा परिणाम (libcurl / openssl) सी ++ में स्ट्रिंग से गणित के भाव का मूल्यांकन करना यादृच्छिक, अद्वितीय मान पैदा करना सी # उद्देश्य सी में एक अंडरस्कोर के साथ गुण नाम प्रीफ़िक्स करना सीएसएस IE में संपत्ति बारी बारी से गतिशील रूप से बनाए गए आइटम के लिए jQuery का क्लिक काम नहीं करता नेस्टेड क्लास 'का दायरा? परियोजना का कार्य> ग्रहण में स्वच्छ पायथन में HTML से बचने का सबसे आसान तरीका क्या है? कैसे स्थानीय HTML फ़ाइल UIWebView में लोड करने के लिए

कंटेट करने योग्य डिवा में कैरेट में html डालें

मेरे पास संतोषजनक सेट के साथ एक डिवा है और मैं क्वैप्प्रेस को कैप्चर करने के लिए jquery का उपयोग कर रहा हूँ preventDefault () को कॉल करने के लिए जब प्रवेश कुंजी दबाया जाता है। इस प्रश्न के समान, जो कर्सर में पाठ को सम्मिलित करता है, मैं सीधे html सम्मिलित करना चाहता हूं, संक्षेप के लिए हम इसे एक ब्र टैग कहते हैं। ऊपर दिए गए प्रश्न का उत्तर प्रयोग करना वास्तव में IE में काम करता है क्योंकि यह रेंज का उपयोग करता है। PasteHTML विधि, लेकिन अन्य ब्राउज़रों में बीआर टैग सादा पाठ के रूप में प्रकट होगा और नहीं html Html को सम्मिलित करने के लिए मैं जवाब को कैसे संशोधित कर सकता हूं और पाठ नहीं?

वेब के समाधान से एकत्रित समाधान "कंटेट करने योग्य डिवा में कैरेट में html डालें"

अधिकांश ब्राउज़रों में, आप चयन से प्राप्त रेंज के insertNode() विधि का उपयोग कर सकते हैं। आईई <9 में आप pasteHTML() प्रयोग कर सकते हैं, जैसा कि आपने उल्लेख किया है नीचे सभी प्रमुख ब्राउज़रों में ऐसा करने के लिए एक फ़ंक्शन है यदि सामग्री पहले से ही चुनी गई है, तो इसे बदल दिया गया है, इसलिए यह प्रभावी रूप से पेस्ट ऑपरेशन है। साथ ही, मैंने सम्मिलित सामग्री के अंत के बाद कैरेट को रखने के लिए कोड जोड़ा।

जेएसफ़िल्ड: 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 // only relatively recently standardized and is not supported in // some 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); } } 

21 अगस्त 2013 को अपडेट करें

जैसा कि टिप्पणियों में अनुरोध किया गया है, यहां एक अतिरिक्त पैरामीटर वाला एक अद्यतन उदाहरण है जो निर्दिष्ट करता है कि डाली गई सामग्री का चयन करने के लिए या नहीं।

डेमो: http://jsfiddle.net/timdown/jwvha/527/

कोड:

 function pasteHtmlAtCaret(html, selectPastedContent) { 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 // only relatively recently standardized and is not supported in // some 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); } var firstNode = frag.firstChild; range.insertNode(frag); // Preserve the selection if (lastNode) { range = range.cloneRange(); range.setStartAfter(lastNode); if (selectPastedContent) { range.setStartBefore(firstNode); } else { range.collapse(true); } sel.removeAllRanges(); sel.addRange(range); } } } else if ( (sel = document.selection) && sel.type != "Control") { // IE < 9 var originalRange = sel.createRange(); originalRange.collapse(true); sel.createRange().pasteHTML(html); if (selectPastedContent) { range = sel.createRange(); range.setEndPoint("StartToStart", originalRange); range.select(); } } } 
 var doc = document.getElementById("your_iframe").contentWindow.document; // IE <= 10 if (document.selection){ var range = doc.selection.createRange(); range.pasteHTML("<b>Some bold text</b>"); // IE 11 && Firefox, Opera ..... }else if(document.getSelection){ var range = doc.getSelection().getRangeAt(0); var nnode = doc.createElement("b"); range.surroundContents(nnode); nnode.innerHTML = "Some bold text"; }; 
 var r = getSelection().getRangeAt(0); r.insertNode(r.createContextualFragment('<b>Hello</b>')); //select this range getSelection().removeAllRanges(); getSelection().addRange(r); //collapse to end/start getSelection().collapseToEnd()