Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

contentEditable отступ( tab)

Есть пример ниже. Как сделать так, чтобы при нажатии Tab вставлялся отступ в тексте (абзац) вместо перехода к следующему элементу страницы?

Some text


Ответ

Недавно переделывал для себя подобное из ответа на 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); } }) })

Some text

Комментариев нет:

Отправить комментарий