function callback(tp) {
        var txt = document.getElementById("txtContent");
        txt.value = txt.value + tp;
        txt.focus();
    }
这样先给文本框赋值之后再focus
文本框的光标显示在文本框的最前面
请问如何解决,谢谢

解决方案 »

  1.   


    下面仅是IE的<script type="text/javascript">
        var el = document.getElementById("Text1");
        var Range = el.createTextRange();
        Range.moveEnd('character', el.value.length);
        Range.moveStart('character', 0); //
        Range.collapse();
        Range.select();
    </script>
      

  2.   


    也有火狐的解决方案,你google一下。大概就是先判断是神马浏览器,在分开执行。感觉这个没什么意义啊
      

  3.   

    已解决function callback(tp) {
                var obj = document.getElementById("txtContent");
                obj.value = obj.value + tp;
                obj.focus();
                var len = obj.value.length;
                if (document.selection) {
                    var sel = obj.createTextRange();
                    sel.moveStart('character', len);
                    sel.collapse();
                    sel.select();
                } else if (typeof obj.selectionStart == 'number'
    && typeof obj.selectionEnd == 'number') {
                    obj.selectionStart = obj.selectionEnd = len;
                }
            }