몇 가지 복잡한 이유 때문에 사용자가 contenteditable div에 enter 키를 누를 때 나는 에 하드 코드가 있어야 라인 변경의 정상적인 작동을 모방 할 수 있습니다. 키를 입력하면 먼저 두 개의 br 태그가 생성됩니다. (잘 작동) 그리고 두 번째, 백 스페이스 (잘 작동)에 대한 사용자의 모방을 마침으로써 마지막으로 BR을 삭제하십시오.Javascript : conteditable div에서 Enter 키를 누를 때 백스 페이스 키를 트리거하는 방법은 무엇입니까?
내 시도가 캐럿 위치에서 사용자의 백 스페이스 키 누르기를 모방하지 못합니다.
HTML :
<div id="hithere" style="border:1px solid black" contenteditable="true" autocomplete="off" spellcheck="false"></div>
자바 스크립트 :
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script>
$('div[contenteditable]').keydown(function(e) {
if (e.keyCode === 13) {
document.execCommand('insertHTML', false, ' <br><br>');
$(function() {
var bre = $.Event('keypress');
bre.keyCode= 8; // enter
document.trigger(bre);
});
}
// // prevent the default behaviour of return key pressed
return false;
});
</script>
을 당신은 알고이는 것 같아 가능성이 희박한 ... 당신은 "__have to__"이라고 씁니다 - 당신이 이것을 믿게 만드는 코드를 변경할 수 없다는 뜻입니까? 그리고 나는 왜 당신이 단지 하나만 원한다면 왜 두 번의 휴식을 만드는 지 모르겠다. –
아니요 변경할 수 없습니다. .. :( – ryanpika
하나만 필요할 때
을 두 개 만드는 이유는 무엇입니까? –