JS设置光标位置

    function getCaret(textbox) {
        var control = document.activeElement;
        textbox.focus();
        var rang = document.selection.createRange();
        rang.setEndPoint("StartToStart", textbox.createTextRange());
        control.focus();
        return rang.text.length;
    }

    function setCaret(textbox, pos) {
        try {
            var r = textbox.createTextRange();
            r.moveStart('character', pos);
            r.collapse(true);
            r.select();
        }
        catch (e) {
        }
    }

    function selectLength(textbox, start, len) {
        try {
            var r = textbox.createTextRange();

            r.moveEnd('character', len - (textbox.value.length - start));
            r.moveStart('character', start);

            r.select();
        }
        catch (e) {
            //alert(e.description)
        }
    }

    function insertAtCaret(textbox, text) {
        textbox.focus();
        document.selection.createRange().text = text;
    }


from:http://csharpd.blog.163.com/blog/static/54949534200711855326207/

posted on 2014-04-25 20:17  shcity  阅读(904)  评论(0)    收藏  举报

导航