दिलचस्प पोस्ट
प्रोग्रामेमी रूप से छुपाएं / दिखाएँ एंड्रॉइड सॉफ्ट कीबोर्ड एन यादृच्छिक संख्या प्राप्त करना है कि राशि एम है हम वसंत में स्थिर खेतों को क्यों नहीं उठा सकते अंत में सी # में क्यों का उपयोग करें? एक जैस्पर दस्तावेज़ में कई प्रश्न क्या एक पायथन डिक्शनरी हैश तालिका का उदाहरण है? jqGrid GridUnload / GridDestroy क्यों करता है '.sort ()' पायथन में 'कोई नहीं' सूची बनती है? क्या आप नियंत्रित कर सकते हैं कि एसवीजी की स्ट्रोक-चौड़ाई कैसे तैयार की गई है? .NET (सी #): जब आपके पास केवल प्रोसेस हैंडल या पीआईडी ​​है तो बाल विंडो प्राप्त करना? मैं AJAX का उपयोग करके आंशिक रूप तत्व कैसे प्रदान करूं? SQL सर्वर में प्रमुख शून्य के साथ पैडिंग द्वारा फ़ॉर्मेटिंग नंबर मैं UILabel डिस्प्ले को रेखांकित टेक्स्ट कैसे बनाऊं? AJAX कॉल और साफ JSON लेकिन सिंटैक्स त्रुटि: लापता; बयान से पहले स्ट्रिंग से लाइन ब्रेक (कोई वर्ण नहीं!) को कैसे निकालना है?

टेक्स्टरिए में कर्सर स्थिति (वर्ण सूचकांक, x / y निर्देशांक नहीं)

JQuery के उपयोग से मैं टेक्स्टरेय में कैरेट की स्थिति कैसे प्राप्त करूं? मैं पाठ की शुरुआत से कर्सर ऑफसेट की तलाश कर रहा हूं, नहीं (x, y) स्थिति के लिए

वेब के समाधान से एकत्रित समाधान "टेक्स्टरिए में कर्सर स्थिति (वर्ण सूचकांक, x / y निर्देशांक नहीं)"

नहीं jQuery, लेकिन सिर्फ जावास्क्रिप्ट …

var position = window.getSelection().getRangeAt(0).startOffset; 

JQuery के साथ काम करने के लिए संशोधित बोजेनजी का समाधान। क्रोम, एफएफ और आईई में परीक्षण किया गया।

 (function ($, undefined) { $.fn.getCursorPosition = function() { var el = $(this).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; } return pos; } })(jQuery); 

मूल रूप से, इसे किसी पाठ बॉक्स पर उपयोग करने के लिए, निम्न करें:

 $("#myTextBoxSelector").getCursorPosition(); 
 function caretPos(el) { var pos = 0; // IE Support if (document.selection) { 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; } // Firefox support else if (el.selectionStart || el.selectionStart == '0') pos = el.selectionStart; return pos; } 

मैं इस jQuery नकाबपोश इनपुट प्लग का उपयोग करके कुछ काम किया है और वास्तव में उपयोगी कैरेट समारोह पाया। मैंने ऊपर दिए गए प्लगइन से इस कोड को खींच लिया है ..

 $.fn.caret = function (begin, end) { if (this.length == 0) return; if (typeof begin == 'number') { end = (typeof end == 'number') ? end : begin; return this.each(function () { if (this.setSelectionRange) { this.setSelectionRange(begin, end); } else if (this.createTextRange) { var range = this.createTextRange(); range.collapse(true); range.moveEnd('character', end); range.moveStart('character', begin); try { range.select(); } catch (ex) { } } }); } else { if (this[0].setSelectionRange) { begin = this[0].selectionStart; end = this[0].selectionEnd; } else if (document.selection && document.selection.createRange) { var range = document.selection.createRange(); begin = 0 - range.duplicate().moveStart('character', -100000); end = begin + range.text.length; } return { begin: begin, end: end }; } } 

एक बार जब आप फ़ंक्शन बनाते हैं तो आप निम्नलिखित की तरह कार्य कर सकते हैं। एक बार फिर, यह समारोह ऊपर उल्लेखित jQuery के नकाबपोश इनपुट फ़ंक्शन से खींचा गया था।

 $("#id").caret(); //get the begin/end caret position $("#id").caret().begin; $("#id").caret().end; $("#otherId").caret(5); //set the caret position by index $("#otherId").caret(1, 5); //select a range 

यह IE9, फ़ायरफ़ॉक्स और क्रोम में भी काम करता है:

 (function ($, undefined) { $.fn.getCursorPosition = function() { var el = $(this).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; } return pos; } })(jQuery); 

और मुझे लगता है कि रयान का संस्करण बहुत साफ है

 function doGetCaretPosition(ctrl) { var CaretPos = 0; // IE Support if (document.selection) { ctrl.focus(); var Sel = document.selection.createRange(); Sel.moveStart('character', -ctrl.value.length); CaretPos = Sel.text.length; } // Firefox support else if (ctrl.selectionStart || ctrl.selectionStart == '0') CaretPos = ctrl.selectionStart; return (CaretPos); }