我有一个输入框,里面选了文字。
当我在选择区域内单击时,我希望收到插入位置。
我看到的唯一可能有用的属性是选择开始属性,但由于所选的输入框,它始终为0。
我如何才能收到点击的插入符号位置?
答案 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));
});
});