DivMan

Как вставить курсор в нужное место?

Рекомендованные сообщения

При клике на кнопку, в блок (с атрибутом contenteditable) помещается имя и оборачивается в элемент b и надо потом печатать после имени, если кликнуть потом в этот блок, то курсор не выходит за пределы элемента b и получается весь напечатанный текст будет тоже жирным, как вывести курсор за этот элемент?

 

Почему то selectionStart не работает.

<p style="
padding: 10px; 
background: white; 
width: 50%;" 
                   
contenteditable="true" class="write-comment"></p>

 

var formComment = document.querySelector('.write-comment');
var userNameHtml = document.createElement('b'); 
userNameHtml.innerHTML = userName + ',&nbsp;';
                
formComment.appendChild(userNameHtml);
formComment.focus();
formComment.selectionStart = formComment.innerHTML.length;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
var formComment = document.querySelector('.write-comment');
formComment.innerHTML = '<b>' + userName + ',' + '</b>' + '&nbsp;';
formComment.appendChild(userNameHtml);

Можно так:

<p id='aaa' style="
padding: 10px; 
background: white; 
width: 50%;"                    
contenteditable="true" class="write-comment"></p> 
<button id="btn">Click me</button>
var userName = "Vasya Pupkin";

btn.onclick = function () {
  var formComment = document.querySelector(".write-comment");
  formComment.innerHTML = "<b>" + userName + "</b>" + ", ";
  formComment.focus();
  var sel = window.getSelection();
  var range = document.createRange();
  range.setStart(formComment, formComment.childNodes.length);
  range.collapse(true);
  sel.removeAllRanges();
  sel.addRange(range);
};

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.