मेरे पास HTML के भीतर contenteditable
तत्वों के लिए एक अजीब मामला है। हमारे पास एक समृद्ध टेक्स्ट एडिटर है जो ग्राहक पूर्व-निर्मित टेम्पलेट्स (हमारे द्वारा) लोड करते हैं, और फिर उस टेम्पलेट को संशोधित कर सकते हैं हालांकि वे (ज्यादातर) चाहते हैं।नेस्टेड गैर-संपादन योग्य टैग के साथ न्यूलाइन और संतुष्ट
हमारे टेम्पलेट्स के हिस्सों को सीधे संपादन योग्य नहीं होने के लिए चिह्नित किया गया है, लेकिन अभी भी हटाया जा सकता है, हालांकि, ऐसा लगता है कि ऐसा कोई तत्व एक पंक्ति पर पहला तत्व है (सीधे <br/>
टैग के बाद), और उपयोगकर्ता उपरोक्त रेखा पर DEL
हिट करता है। क्योंकि इसकी contenteditable=false
है, इसलिए ब्राउज़र <br/>
पर नहीं हटाता है लेकिन पूरे गैर-संपादन योग्य अवधि को हटाता है। उपयोगकर्ता blah blah blah
के बाद उनके कर्सर डालता है
नमूना HTML इस
<div contenteditable=true>
<span>blah blah blah</span><br/>
<span contenteditable="false">You cant edit this value directly</span>
</div>
तरह है, और DEL
पूरे अगले सामग्री संपादन योग्य हटा दी जाती है मारता है, बल्कि लाइन ब्रेक से।
क्या इस व्यवहार को ठीक करने के लिए कोई तरीका, जावास्क्रिप्ट या अन्यथा है?
Ive कर्सर की स्थिति (रंगीन का उपयोग करके) का पता लगाने और अस्थायी रिक्त स्थान डालने का प्रयास करने के साथ चारों ओर बेवकूफ़ बना दिया, लेकिन मुझे लगता है कि यह वांछित व्यवहार नहीं है, जो कि गैर-संपादन योग्य टैग लाया जाता है पिछली लाइन तक।
हमने केवल संपादक को क्रोम में उपयोग सीमित कर दिया है, इसलिए आईई या एफएफ के बारे में चिंता करने की आवश्यकता नहीं है।
आपके टेम्पलेट का हिस्सा '
'है? यदि ऐसा है तो आप '
' का उपयोग करने के बजाय 3 'div' का उपयोग नहीं कर सकते? –
हां। कारणों से मैं पूरी तरह से सुनिश्चित नहीं हूं (शायद प्रतिपादन के लिए), हमने ब्राउजर को सम्मिलित करने की बजाय लाइन ब्रेक डालने के लिए एंटर कीप्रेस को ओवरराइड कर दिया है, इस मामले में, divs। –
डिलीट की प्रमुख घटनाओं पर पूरा नियंत्रण लेने का एक और समाधान हो सकता है। आवश्यकता होने पर आप विरासत में कार्यक्षमता का उपयोग कर सकते हैं और वांछनीय नहीं होने पर ईवेंट को अवरुद्ध कर सकते हैं। या यहां तक कि 100% कस्टम डिलीट तर्क का उपयोग करें। * संपादित करें: * कैरेट की स्थिति प्राप्त करने के लिए स्वीकार्य थोड़ा मुश्किल हो सकता है, लेकिन यह निश्चित रूप से संभव है। –