दिलचस्प पोस्ट
मैं एसिंक्रोनस, अजाक्स अनुरोध के बजाय एक तुल्यकालिक प्रदर्शन करने के लिए jQuery कैसे प्राप्त करूं? कोटलिन में, नलनीय मूल्यों से निपटने के लिए मुहावरेदार तरीका क्या है, उन्हें संदर्भित करना या परिवर्तित करना Iframe के अंदर क्लिक ईवेंट का पता लगाएं जावा संग्रह क्या है? एक .lib फ़ाइल बनाने के लिए जब एक। Dll फ़ाइल और एक हैडर फ़ाइल है क्लाइंट रूटिंग (रिएक्शन-राउटर का उपयोग करके) और सर्वर साइड रूटिंग आईफोन – ग्रांड सेंट्रल डिस्पैच मुख्य धागा Node.js के साथ एक JSON API कॉल करना बराबर के बीच अंतर क्या है ?, eql ?, ===, और ==? बेसिक प्रमाणीकरण का उपयोग करके उपयोगकर्ता को वेब साइट से लॉग आउट कैसे करें? प्रोग्रामिंग कैसे WPF में एक बटन पर क्लिक करें? अमेज़ॅन लिनक्स पर यूवेएसबी अपस्टार्ट फिबोनैचि संख्याओं के लिए एक चलने वाला एल्गोरिथ्म कैसे एक नई विंडो खोलने और jQuery में jQuery का उपयोग कर इसे सम्मिलित करें? सी # 4 समर्थन एक्सटेंशन विधियों में गतिशील कीवर्ड क्या होगा?

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

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

Solutions Collecting From Web of "कंटेट करने योग्य डिवा में कैरेट में 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()