Всем привет!
Есть функция JS:
function getCursorPosition( ctrl ) {
var CaretPos = 0;
if ( document.selection ) {
ctrl.focus ();
var Sel = document.selection.createRange();
Sel.moveStart ('character', -ctrl.value.length);
CaretPos = Sel.text.length;
} else if ( ctrl.selectionStart || ctrl.selectionStart == '0' ) {
CaretPos = ctrl.selectionStart;
}
return CaretPos;
}
Попытался перевести в метод JQuery:
(function() {
var $=jQuery
$.fn.getCaret=function() {
var CaretPos = 0;
if ( document.selection ) {
this.focus ();
var Sel = document.selection.createRange();
Sel.moveStart ('character', -this.value.length);
CaretPos = Sel.text.length;
} else if ( this.selectionStart || this.selectionStart == '0' ) {
CaretPos = this.selectionStart;
}
return CaretPos;
};
})();
Теперь всегда возвращается ноль
Предполагаю что проблема с передачей объекта
Вопрос
Кроме того что руки не оттуда растут, что не так?
P.S. Если что это функция определения позиции курсора в текстовом поле и до моих экспериментов она работала правильно...