如何使用jQuery获取文本区域中插入符号的位置?我查找的是光标从文本开头的偏移量,而不是the (x, y) position。
发布于 2009-12-12 07:15:31
不是jQuery,而是Javascript...
var position = window.getSelection().getRangeAt(0).startOffset;
发布于 2009-12-16 04:02:08
修改了BojanG的解决方案以与jQuery协同工作。已在Chrome、FF和IE中测试。
(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();
发布于 2009-12-12 07:36:11
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;
}
https://stackoverflow.com/questions/1891444
复制相似问题