Есть блок:
<div class="hashtag-input" contenteditable="true" id="hashtag-input"></div>
С помощью javascript пытаюсь сделать хэштеги:
var input = document.querySelector('.hashtag-input');
input.addEventListener('keydown', function (event) {
if (event.key === 'Enter' && !event.shiftKey) {
document.execCommand('insertHTML', false, '<br>');
event.preventDefault();
} else {
var text = this.textContent;
var formattedText = text.replace(/[\r\n]+/g, '<br>');
var highlighted = formattedText.replace(/(#\w+)/g, '<span class="hashtag">$1</span>');
this.innerHTML = highlighted;
placeCaretAtEnd(this);
}
});
function placeCaretAtEnd(el) {
el.focus();
if (typeof window.getSelection != "undefined" &&
typeof document.createRange != "undefined"
) {
var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
} else if (typeof document.body.createTextRange != "undefined") {
var textRange = document.body.createTextRange();
textRange.moveToElementText(el);
textRange.collapse(false);
textRange.select();
}
}
Но, почему-то, не могу перевести строку( Как это исправить?