我有一个输入框,里面选择了文本。
当我在选择区域内单击时,我想接收插入符号的位置。
我看到的唯一可能有用的属性是选择开始属性,但由于选定的输入框,它始终为 0。
如何接收点击的插入位置?
我有一个输入框,里面选择了文本。
当我在选择区域内单击时,我想接收插入符号的位置。
我看到的唯一可能有用的属性是选择开始属性,但由于选定的输入框,它始终为 0。
如何接收点击的插入位置?
您可以在文本框内单击时获得插入符号的位置,但由于所选文本不是 DOM 节点,因此您无法在所选部分上分配单击事件。如果您只想单击插入符号位置,这将对您有所帮助。
function GetCaretPosition(ctrl) {
var CaretPos = 0; // IE Support
if (document.selection) {
ctrl.focus();
var Sel = document.selection.createRange();
Sel.moveStart('character', - ctrl.value.length);
CaretPos = Sel.text.length;
}
// Firefox support
else if (ctrl.selectionStart || ctrl.selectionStart == '0') CaretPos = ctrl.selectionStart;
return (CaretPos);
}
$(document).ready(function(e) {
$('.textBox').click(function(e) {
alert(GetCaretPosition(this));
});
});