निम्नलिखित सामग्री योग्य div पर विचार करें।दो divs के बीच एक संतोषजनक div में कैरेट/कर्सर स्थिति कैसे सेट करें।
<div contenteditable="true">
<div>bold text</div><div>bold text</div>
</div>
अगर मैं दो divs के बीच कर्सर भी स्थित है और पाठ टाइप करना आरंभ बाहर के बजाय दो divs के बीच एक नया पाठ नोड डालने के बोल्ड आता है। वही होता है यदि आप घर पर आते हैं और पहले div के सामने कुछ टाइप करने का प्रयास करते हैं। यह पहले div का हिस्सा बन जाता है।
यदि मैं चयन से लौटाई गई सीमा के प्रारंभकर्ता का निरीक्षण करता हूं, तो मुझे उम्मीद है कि मैं एक खाली टेक्स्ट नोड के बजाय div में से एक के लिए सामग्री प्राप्त करूंगा।
इस http://jsfiddle.net/9ZZpX/3/
सवाल क्यों होता है है देखते हैं? मैं divs के बीच स्पॉट का चयन कैसे कर सकता हूं ताकि जब मैं कुछ टाइप करूं तो यह बोल्ड नहीं होता है? (जाहिर है, मैं एक जगह जोड़ सकता हूं और यह समस्या के आसपास काम करता है लेकिन यह काफी बदसूरत है।)
यदि आप स्थिति अपडेट बॉक्स में @mention दर्ज करते हैं और HOME दबाते हैं तो आप फेसबुक पर यह सही ढंग से काम कर सकते हैं। यदि आप टेक्स्ट टाइप करते हैं तो हाइलाइट नहीं किया जाएगा।
एकमात्र चीज जिसे मैं सोचने में सक्षम हूं, वह कुंजीपटल को रोक रहा है और प्रोग्राम नोड को टेक्स्ट नोड डालने वाला है लेकिन यह बदसूरत लगता है।
मैंने पागल की तरह खोज की और किसी भी संदर्भ को नहीं मिला जो दस्तावेज करता है कि यह वास्तव में काम करने के लिए कैसे माना जाता है। स्पष्ट रूप से कुछ ऐसा है जो मुझे समझ में नहीं आता है और दस्तावेज वास्तव में इस क्षेत्र में कमी है।
(मैं जो भी करने में सक्षम होना चाहता हूं वह पता लगाता है कि कर्सर इन divs में से किसी एक में प्रवेश करने जा रहा है और उस पर कूदने के बारे में है। यदि दो divs एक दूसरे के बगल में हैं, तो कर्सर एक में कूदता है divs और यह काम करता है MUCKs) मैं क्या कर रहा हूँ पर
और जानकारी:। http://a-software-guy.com/2012/12/the-horrors-of-cursor-positioning-in-contenteditable-divs/
मैंने लेख के लिए उत्थान किया। दस्तावेज के लिए धन्यवाद! –