javastscript获取光标位置

需求是获取某元素的内容,然后将该内容插入到文本框当前的光标位置

 (function($) {
                $.fn.extend({
                    insertAtCaret: function(myValue) {
                        var $t = $(this)[0];
                        if (document.selection) {
                            this.focus();
                            sel = document.selection.createRange();
                            sel.text = myValue;
                            this.focus();
                        }
                        else
                        if ($t.selectionStart || $t.selectionStart == '0') {
                            var startPos = $t.selectionStart;
                            var endPos = $t.selectionEnd;
                            var scrollTop = $t.scrollTop;
                            $t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);
                            this.focus();
                            $t.selectionStart = startPos + myValue.length;
                            $t.selectionEnd = startPos + myValue.length;
                            $t.scrollTop = scrollTop;
                        }
                        else {
                            this.value += myValue;
                            this.focus();
                        }
                    }
                })
            })(jQuery);

 使用方法

$('#demo').insertAtCaret('hello');

 

posted @ 2014-12-17 15:47  沉默术士  阅读(455)  评论(0编辑  收藏  举报