Когда пользователь редактирует contenteditable div
и нажимает некоторые клавиши, я хотел бы переопределить поведение по умолчанию.
Например, я хочу вставить обычный разрыв строки, когда пользователь нажимает ENTER.
Я использую document.execCommand("insertText",...)
Это единственный способ, который я нашел до сих пор, чтобы сделать это действие отменено и повторно выполнимым пользователем.
<div id="editor" contenteditable="true" style="white-space:pre-wrap">
Some text....
</div>
<script>
$("#editor").keydown(function(evt){
console.log(evt.keyCode);
if(evt.keyCode==13){
document.execCommand("insertText",false,"\n");
evt.preventDefault();
evt.stopPropagation();
}
}
</script>
Этот код хорошо работает на chrome и firefox. Но, т.е. Не поддерживает "inserttext". Будет ли способ вставить текст с тем, чтобы пользователь мог отменить его?