সম্ভবত আপনার কার্সার অবস্থানের পাশাপাশি একটি নির্বাচিত পরিসরও প্রয়োজন। এখানে একটি সাধারণ ফাংশন, আপনার এমনকি 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())। পারফরম্যান্সের কারণে, ইভেন্টগুলি are setTimeout()েলে _debounce()দিলে এটি অ্যাডকোরসের মতো কিছু যুক্ত করা ভাল ধারণা হতে পারে :
$('input[type="text"]').on('keyup mouseup mouseleave', function() {
caretPosition($(this));
});
আপনি যদি এটি দেখতে চান তবে এখানে একটি ঝাঁকুনি: https://jsfiddle.net/Dhaupin/91189tq7/