आप jQuery का उपयोग करके टेक्स्ट फ़ील्ड में कर्सर की स्थिति कैसे निर्धारित करते हैं? मुझे सामग्री के साथ एक पाठ क्षेत्र मिला है, और मैं चाहता हूं कि उपयोगकर्ता कर्सर को एक निश्चित ऑफसेट पर तैनात करें जब वे क्षेत्र पर ध्यान केंद्रित करते हैं। कोड इस तरह दिखना चाहिए:
$('#input').focus(function() {
$(this).setCursorPosition(4);
});
उस setCursorPosition फ़ंक्शन का कार्यान्वयन कैसा दिखेगा? यदि आपके पास सामग्री abcdefg के साथ एक पाठ फ़ील्ड है, तो इस कॉल के परिणामस्वरूप कर्सर को इस प्रकार तैनात किया जाएगा: abcd ** | ** efg।
Java का एक समान कार्य है, setCaretPosition। क्या जावास्क्रिप्ट के लिए एक समान विधि मौजूद है?
अपडेट: मैंने jQuery के साथ काम करने के लिए CMS के कोड को इस प्रकार संशोधित किया:
new function($) {
$.fn.setCursorPosition = function(pos) {
if (this.setSelectionRange) {
this.setSelectionRange(pos, pos);
} else if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
if(pos < 0) {
pos = $(this).val().length + pos;
}
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
}(jQuery);
$(this).get(0).setSelectionRange)
? तुम्हें पता है कि बिल्कुल वैसा ही हैthis.setSelectionRange
, केवल धीमा और पढ़ने में कठिन है, है ना? jQuery यहाँ आपके लिए शाब्दिक रूप से कुछ नहीं कर रहा है।