Как вставить текст в место где установлен курсор?

Решено

Здравствуйте, я делаю свои смайлики в комментариях вордпресс. У меня в настоящий момент смайлики всегда добавляются в конец предложения, а хотелось бы сделать так что бы можно было их вставлять в то место где в настоящий момент пользователь установил курсор. То есть не важно конец слова/середина или начало, где стоит курсор туда и вставлять, если курсор в поле не установлен то в самой конец. Скажите как это можно реализовать?

Добавить Комментарий
    Ответ

    Следующая функция полностью решает данную задачу по вставки текста в место где установлен курсор:

     // Сама функция
     function insertTextAtCursor(el, text, offset) {
     var val = el.value, endIndex, range, doc = el.ownerDocument;
     if (typeof el.selectionStart == "number"
     && typeof el.selectionEnd == "number") {
     endIndex = el.selectionEnd;
     el.value = val.slice(0, endIndex) + text + val.slice(endIndex);
     el.selectionStart = el.selectionEnd = endIndex + text.length+(offset?offset:0);
     } else if (doc.selection != "undefined" && doc.selection.createRange) {
     el.focus();
     range = doc.selection.createRange();
     range.collapse(false);
     range.text = text;
     range.select();
     }
     }
    //Вызываем функцию
     insertTextAtCursor(document.getElementById('comment'),  'текст');
     

    текст — текст который вставим в место где стоит курсор
    comment — id textarea в который нужно вставлять

    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.