शायद आपको कर्सर की स्थिति के अलावा एक चयनित सीमा की आवश्यकता है। यहाँ एक सरल कार्य है, आपको jQuery की भी आवश्यकता नहीं है:
function caretPosition(input) {
var start = input[0].selectionStart,
end = input[0].selectionEnd,
diff = end - start;
if (start >= 0 && start == end) {
// do cursor position actions, example:
console.log('Cursor Position: ' + start);
} else if (start >= 0) {
// do ranged select actions, example:
console.log('Cursor Position: ' + start + ' to ' + end + ' (' + diff + ' selected chars)');
}
}
मान लें कि आप इसे इनपुट पर कॉल करना चाहते हैं जब भी यह बदलता है या माउस कर्सर की स्थिति को बदलता है (इस मामले में हम jQuery का उपयोग कर रहे हैं .on())। प्रदर्शन कारणों के लिए, यह जोड़ना अच्छा हो सकता setTimeout()है कि _debounce()यदि घटनाएँ घट रही हैं तो अंडरस्कोर जैसे कुछ जोड़ना या जोड़ना
$('input[type="text"]').on('keyup mouseup mouseleave', function() {
caretPosition($(this));
});
यदि आप इसे आज़माना चाहते हैं तो एक फ़िदा है: https://jsfiddle.net/Dhaupin/91189tq7/