मैं फ़ंक्शन ढूंढ रहा हूं जो मुझे चयनित टेक्स्ट से पहले या बाद में कुछ तत्व बनाने की अनुमति देता है। इस तरह के javascript replace selection all browsers जैसा कुछ भी है, लेकिन इसे बदलने के बजाय चयन से पहले या बाद में कुछ सामग्री जोड़ने के लिए, जैसे after()
और before()
jQuery विधियां। क्या मुझे कुछ डीओएम चयन विधि का उपयोग करना चाहिए, यदि हां, तो कौन सा? या इसे बाहर ले जाने के लिए कुछ आसान है?टेक्स्ट चयन से पहले/बाद में तत्व जोड़ें
6
A
उत्तर
10
यहां ऐसा करने के लिए कार्यों की एक जोड़ी है।
लाइव उदाहरण: http://jsfiddle.net/hjfVw/
कोड:
var insertHtmlBeforeSelection, insertHtmlAfterSelection;
(function() {
function createInserter(isBefore) {
return function(html) {
var sel, range, node;
if (window.getSelection) {
// IE9 and non-IE
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = window.getSelection().getRangeAt(0);
range.collapse(isBefore);
// 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);
}
} else if (document.selection && document.selection.createRange) {
// IE < 9
range = document.selection.createRange();
range.collapse(isBefore);
range.pasteHTML(html);
}
}
}
insertHtmlBeforeSelection = createInserter(true);
insertHtmlAfterSelection = createInserter(false);
})();
2
MSIE में: collapse दी गई श्रेणी और उपयोग pasteHTML तत्व
दूसरों को सम्मिलित करने के: इसके अलावा collapse दिया रेंज और के माध्यम से insertNode
दोनों तत्व सम्मिलित पतन-विधियां एक वैकल्पिक तर्क स्वीकार करती हैं जो परिभाषित करती है कि आप कहां गिरना चाहते हैं। यदि आप अंत में तत्व रखना चाहते हैं, तो अंत में पतन करें, अन्यथा शुरुआत में।
संबंधित मुद्दे
- 1. ट्रिडियन आरटीएफ टेक्स्ट चयन
- 2. एंड्रॉइड टेक्स्ट में टेक्स्ट जोड़ें (टेक्स्ट व्यू में)?
- 3. एचटीएमएल तत्व से पहले या बाद में पाठ जोड़ें
- 4. आंतरिक टेक्स्ट द्वारा XPath चयन
- 5. EXACT टेक्स्ट सामग्री के आधार पर तत्व का चयन करें
- 6. regex के साथ HTML टेक्स्ट तत्व का चयन करें?
- 7. वेबव्यू में एंड्रॉइड टेक्स्ट चयन
- 8. वेबड्राइवर: नया तत्व जोड़ें
- 9. टेक्स्ट चयन बहुत अधिक हाइलाइटिंग
- 10. एंड्रॉइड में टेक्स्ट संसाधन में न्यूलाइन जोड़ें?
- 11. एक्शनबार में आइकन में टेक्स्ट कैसे जोड़ें?
- 12. सी # में आइकन में टेक्स्ट कैसे जोड़ें?
- 13. UIWebView से चयन टेक्स्ट कैसे प्राप्त करें?
- 14. जेएलएबल से टेक्स्ट का चयन करना?
- 15. phpstorm टेक्स्ट का चयन
- 16. SlickGrid और टेक्स्ट चयन
- 17. एक सूची से दूसरे में तत्व जोड़ें C#
- 18. एक टेक्स्ट व्यू में एक से अधिक स्ट्रिंग जोड़ें
- 19. गतिशील रूप से एक पंक्ति में टेक्स्ट व्यू जोड़ें
- 20. एकाधिक चयन तत्व - विनिमय
- 21. रूबी सरणी में नया तत्व जोड़ें
- 22. हाईचर चार्ट में एनोटेशन टेक्स्ट कैसे जोड़ें?
- 23. दीप ज़ूम संगीतकार में टेक्स्ट कैसे जोड़ें?
- 24. सी ++ सरणी में तत्व कैसे जोड़ें?
- 25. एरे सहयोगी सरणी में तत्व जोड़ें
- 26. शब्दकोशों की सूची में तत्व जोड़ें
- 27. टेक्स्ट फ़ील्ड (रेल) में संकेत टेक्स्ट कैसे जोड़ें?
- 28. एसवीजी टेक्स्ट तत्व गति
- 29. F # अनुक्रम में एक तत्व जोड़ें
- 30. सिम्फनी 2 फॉर्म तत्व में त्रुटि जोड़ें
नहीं एक जवाब है, लेकिन: मुझे यकीन है कि आप का उपयोग कर बहुत आसानी से कर सकते टिम डाउन [Rangy] (http://code.google.com/पी/रेंज/पुस्तकालय। –