:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<script> var apofpos; (function($, undefined) { $.fn.getCursorPosition = function(s) { var el = $(this).get(0); var pos = 0; if ('selectionStart' in el) { pos = el.selectionStart; } else if ('selection' in document) { el.focus(); var Sel = document.selection.createRange(); var SelLength = document.selection.createRange().text.length; Sel.moveStart('character', -el.value.length); pos = Sel.text.length - SelLength; } apofpos = pos; aposetdatatofield($(this), s); } })(jQuery); $.fn.setCursorPosition = function(pos) { this.each(function(index, elem) { if (elem.setSelectionRange) { elem.setSelectionRange(pos, pos); } else if (elem.createTextRange) { var range = elem.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } }); return this; }; function aposetdatatofield(a, b) { a.val(a.val().substr(0, apofpos) + b + a.val().substr(apofpos, a.val().length)).setCursorPosition(apofpos+b.length).focus(); } </script> |
2#: HTML код примера использования:
1 2 3 |
<textarea id="the_id_value">Здесь может быть любой ваш текст</textarea> <a href="#" onclick="$('#the_id_value').getCursorPosition('Здесь текст, который нужно будет вставить');return false;">Вставь текст на позицию курсора</a> |
За основу материала взята ЭТА статья