单击选择的输入文本框后,如何获得插入位置?

时间:2013-01-06 09:34:08

标签: javascript jquery html css

我有一个输入框,里面选了文字。

当我在选择区域内单击时,我希望收到插入位置。

我看到的唯一可能有用的属性是选择开始属性,但由于所选的输入框,它始终为0。

我如何才能收到点击的插入符号位置?

1 个答案:

答案 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));
    });
});

检查http://jsfiddle.net/thvd5/

相关问题