javascript - How to make textarea editable? -
मेरे पास एक textarea है जो अंग्रेजी से हिंदी को बदलता है onkeyup घटना। लेकिन जब मैं संपादन के लिए पिछड़ा वर्ग को वापस ले जाता हूं, तो पहला अक्षर जो मैं टाइप करता हूं, हिंदी को धर्मान्तरित करता है और कैरेट स्ट्रिंग के अंत में जाता है। textarea के भीतर एक ही बिंदु पर कैरेट को स्टोर करना संभव है, ताकि यह स्ट्रिंग के अंत में न जाए?
इसके साथ समस्या यह है कि आप प्रत्येक कुंजी के ऊपर टेक्स्टरेआ के मूल्य को ओवरराइट कर रहे हैं, जो कि कैरेट की ओर बढ़ता है।
आप चाहेंगे
फ़ंक्शन getCaret (एल) {if (el.selectionStart) {return el.selectionStart; } और अगर (document.selection) {el.focus (); Var r = document.selection.createRange (); अगर (आर == नल) {वापसी 0; } Var re = el.createTextRange (), आरसी = पुनः डुप्लिकेट (); re.moveToBookmark (r.getBookmark ()); Rc.setEndPoint ('एंडटोस्टार्ट', पुनः); वापसी rc.text.length; } वापसी 0; } - नीचे उल्लेखित लिंक से जुड़े कोड
फ़ंक्शन SetCursorPosition (pos) {// यहां TXT टेक्स्ट फ़ील्ड नाम var obj = document.getElementById है ('& Lt;% = txt.ClientID% & gt; & lt;% = txt.ClientID% & gt;'); // FOR IE यदि (obj.setSelectionRange) {obj.focus (); obj.setSelectionRange (स्थिति, स्थिति); } // फ़ायरफ़ॉक्स अन्य के लिए अगर (obj.createTextRange) {var range = obj.createTextRange (); range.collapse (सही); रेंज.मोवएंड ('वर्ण', पॉज़); Range.moveStart ('चरित्र', pos); range.select (); }} इस कुंजी को एक कुंजी अप घटना पर जगह लेने से बचने और एक बटन प्रेस, ब्लर / फोकस या कुछ और करने के लिए इसे स्थानांतरित करने के लिए कुछ अन्य तरीके हैं। यह आपको अंत में रीसेट करने वाली किसी भी कैरेट स्थिति के बारे में चिंता करने की अनुमति नहीं देता है।
टेक्स्ट बदलाव को ट्रिगर करने के लिए दूसरी घटना में जाने के लिए केवल एक वास्तविक नुकसान यह है कि यह तात्कालिक नहीं है।
< / div>
Comments
Post a Comment