Я пишу редактор математики, и у меня проблема с вставкой тега div
(поле для формул). Я хочу, чтобы этот курсор переместился в позицию после вставленного div
(поле), а затем у пользователя появилась возможность продолжать вводить текст без замены курсора вручную.Установить позицию курсора после тега div JS
function insert(elem)
{
var sel = window.getSelection();
var range = sel.getRangeAt(0);
range.deleteContents();
range.insertNode(elem);
}
function field()
{
var innerDiv = document.createElement('div');
innerDiv.contentEditable = 'true';
innerDiv.style.minHeight = fontSize()+'pt';
innerDiv.style.minWidth = fontSize()+'pt';
var div = document.createElement('div');
div.contentEditable = 'false';
div.classList.add('boxed');
div.classList.add('inline');
div.appendChild(innerDiv);
insert(div);
}
function fontSize()
{
var el = document.getElementById("main");
var style = window.getComputedStyle(el, null).getPropertyValue('font-size');
var fontSize = parseFloat(style);
return fontSize;
}
.boxed {
margin: 5px;
border: 2px solid black;
max-width: calc(100% - 10px);
}
.inline {
display: inline-block;
vertical-align: middle;
max-width: calc(100% - 10px);
}
<body id="main" spellcheck="false">
<button onclick="field()">table</button>
<div id = "mainDiv" contenteditable="true"></div>
</body>
<div id = 'mainDiv'> <div>New inserted div </div> |cursor here| </div>
Благодарим вас за ответ, но в этом случае после вставки «поля» курсор перемещается в новый тег. Я хочу переместить курсор после тега div. –
Боюсь, я не знаю, что это значит. Курсор должен куда-то идти и не опираться на страницу, не находясь внутри какого-то окна, чтобы вводить символы. Вы можете изменить свой вопрос. – Jesse