दिलचस्प पोस्ट
फेसबुक के नए आईओएस एप में एक की तरह एक साइडविप मेनू को विकसित करने का सबसे अच्छा तरीका क्या है? SQL सर्वर में किसी VARCHAR से गैर-संख्यात्मक वर्ण निकालने का सबसे तेज़ तरीका आइवी द्वारा आईवी कॉन्फ़िगरेशन के लिए मेवेन स्कोप कैसे मैप किए गए हैं एचटीटीपी शरीर से हटाना एंड्रॉइड में हेक्स स्ट्रिंग को रंग पूर्णांक कैसे परिवर्तित करें? क्या एसवीजी पैरामीटर जैसे 'एक्सएमएलएन' और 'संस्करण' की आवश्यकता है? एलडीपीआई, एमडीपीआई, एचडीपीआई, एक्सएचडीपीआई के लिए एंड्रॉइड स्प्लैश स्क्रीन आकार? – उदा: एलडीपीआई के लिए 1024X768 पिक्सल छवियों को डाउनलोड करने के लिए एंड्रॉइड पिकासो पुस्तकालय का उपयोग क्यों करें? क्या प्रोग्रामेटिक रूप से केवल सी # का उपयोग करते हुए X509 प्रमाणपत्र उत्पन्न करना संभव है? ऑनक्लिक फ़ंक्शन में 'इस' संदर्भ को रखते हुए मैं एक एन्कर्र टैग से एक onclick () ईवेंट को कैसे प्रोग्राममैट कर सकता हूं? डेटाबेस डिजाइन में विरासत की तरह कुछ एचएमवीसी पैटर्न क्या है? नॉकआउटजे में चेक किए गए बाइंडिंग का उपयोग करते समय ईवेंट बबुलिंग को रोकें कैसे सी # का उपयोग करके SQL सर्वर तालिका परिवर्तन की निगरानी के लिए? तारों के साथ सी #

आप टेक्स्टरिए में कर्सर की स्थिति कैसे प्राप्त करते हैं?

मेरे पास एक टेक्सटेरा है और मैं जानना चाहूंगा कि क्या मैं टेक्स्टरेया में अंतिम पंक्ति या पाठ कर्ता में पहली पंक्ति में जावास्क्रिप्ट के साथ अपने कर्सर के साथ हूं।

मैं पहली नयी पंक्ति और अंतिम नए रेखा के चरित्र की स्थिति को हथियाने और फिर कर्सर की स्थिति को हथियाने के बारे में सोचा था।

var firstNewline = $('#myTextarea').val().indexOf('\n'); var lastNewline = $('#myTextarea').val().lastIndexOf('\n'); var cursorPosition = ?????; if (cursorPosition < firstNewline) // I am on first line. else if (cursorPosition > lastNewline) // I am on last line. 
  • क्या पाठ के भीतर कर्सर की स्थिति को पकड़ना संभव है?
  • क्या आपके पास यह पता लगाने के लिए बेहतर सुझाव है कि क्या मैं पाठयरे की पहली या अंतिम पंक्ति पर हूं?

jQuery समाधान पसंदीदा जब तक जावास्क्रिप्ट के रूप में सरल या सरल है

किसी भी प्रकार की मदद की बेहद सराहना की जाती है।

Solutions Collecting From Web of "आप टेक्स्टरिए में कर्सर की स्थिति कैसे प्राप्त करते हैं?"

यदि कोई चयन नहीं है, तो आप गुणों का उपयोग कर सकते हैं। चयन चयन या .selectionEnd (कोई चयन के साथ वे बराबर हैं)

 var cursorPosition = $('#myTextarea').prop("selectionStart"); 

ध्यान दें कि यह पुराने ब्राउज़रों में समर्थित नहीं है, सबसे खासकर IE8-। वहां आपको पाठ श्रेणियों के साथ काम करना होगा, लेकिन यह एक पूर्ण निराशा है

मेरा मानना ​​है कि कहीं कोई लाइब्रेरी है जो इनपुट तत्वों में चयन / कर्सर पदों को प्राप्त करने और सेट करने के लिए समर्पित है, हालांकि। मैं अपना नाम नहीं याद कर सकता, लेकिन इस विषय के बारे में लेखों पर दर्जनों लगते हैं।

मैंने इस पर एक निष्पक्ष काम किया है और स्टैक ओवरफ्लो पर टेक्सरेस में कैरेट / चयन की स्थिति पाने के लिए एक फ़ंक्शन पोस्ट किया है। ऐसा करने के लिए बहुत ज्यादा हर दूसरे कोड के विपरीत, यह IE <9 में लाइन ब्रेक के साथ ठीक से काम करता है

यहां कुछ पृष्ठभूमि के साथ एक उदाहरण प्रश्न है:

क्या चयनकर्ता और चयन के लिए एक इंटरनेट एक्सप्लोरर को स्वीकृत विकल्प है?

और यहां एक jQuery प्लग-इन के लिए एक लिंक है मैंने लिखा है कि इस फ़ंक्शन और अन्य चयन से संबंधित टेक्स्टरेया फ़ंक्शंस शामिल हैं:

https://github.com/timdown/rangyinputs

यहां एक क्रॉस ब्राउज़र फ़ंक्शन है जो मेरे मानक पुस्तकालय में है I

 function getCursorPos(input) { if ("selectionStart" in input && document.activeElement == input) { return { start: input.selectionStart, end: input.selectionEnd }; } else if (input.createTextRange) { var sel = document.selection.createRange(); if (sel.parentElement() === input) { var rng = input.createTextRange(); rng.moveToBookmark(sel.getBookmark()); for (var len = 0; rng.compareEndPoints("EndToStart", rng) > 0; rng.moveEnd("character", -1)) { len++; } rng.setEndPoint("StartToStart", input.createTextRange()); for (var pos = { start: 0, end: len }; rng.compareEndPoints("EndToStart", rng) > 0; rng.moveEnd("character", -1)) { pos.start++; pos.end++; } return pos; } } return -1; } 

इसे इस तरह अपने कोड में प्रयोग करें:

 var cursorPosition = getCursorPos($('#myTextarea')[0]) 

यहां इसका पूरक कार्य है:

 function setCursorPos(input, start, end) { if (arguments.length < 3) end = start; if ("selectionStart" in input) { setTimeout(function() { input.selectionStart = start; input.selectionEnd = end; }, 1); } else if (input.createTextRange) { var rng = input.createTextRange(); rng.moveStart("character", start); rng.collapse(); rng.moveEnd("character", end - start); rng.select(); } } 

http://jsfiddle.net/gilly3/6SUN8/

पंक्ति संख्या और स्तंभ स्थिति प्राप्त करने के लिए यहां कोड है

 function getLineNumber(tArea) { return tArea.value.substr(0, tArea.selectionStart).split("\n").length; } function getCursorPos() { var me = $("textarea[name='documenttext']")[0]; var el = $(me).get(0); var pos = 0; if ('selectionStart' in el) { pos = el.selectionStart; } else if ('selection' in document) { el.focus(); var Sel = document.selection.createRange(); var SelLength = document.selection.createRange().text.length; Sel.moveStart('character', -el.value.length); pos = Sel.text.length - SelLength; } var ret = pos - prevLine(me); alert(ret); return ret; } function prevLine(me) { var lineArr = me.value.substr(0, me.selectionStart).split("\n"); var numChars = 0; for (var i = 0; i < lineArr.length-1; i++) { numChars += lineArr[i].length+1; } return numChars; } 

tArea पाठ क्षेत्र DOM तत्व है

getCursorPos () फ़ंक्शन GWT में कर्सर की स्थिति वापस करेगा

  TextArea content = new TextArea(); content.getCursorPos();