Есть пример ниже. Как сделать так, чтобы при нажатии Tab вставлялся отступ в тексте (абзац) вместо перехода к следующему элементу страницы?
<div class='test' contentEditable='true'>Some text</div>
Недавно переделывал для себя подобное из ответа на EN.SO
let divs = document.getElementsByClassName("test");
[].forEach.call(divs, function(item) {
item.addEventListener("keydown", function(e) {
if (e.keyCode === 9) {
e.preventDefault();
let div = this;
let selection = div.ownerDocument.defaultView.getSelection();
let range = selection.getRangeAt(0);
let tab = document.createTextNode("\u00a0\u00a0\u00a0\u00a0");
range.insertNode(tab);
range.setStartAfter(tab);
range.setEndAfter(tab);
selection.removeAllRanges();
selection.addRange(range);
}
})
})
<div class='test' id="editor" contentEditable='true'> Some text</div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Необходима функция, переводящая в десятичные числа hex буквыA -> 10, F -> 15 и тд
Как можно лучше улучшить качество изображения и разместить по ширине и длине канваса?
Я использую плагин Cycle для смены страницЦель - возможность переходить на определенный контент внутри страницы (например, Contact Us) по прямой...