삭제 키를 누를 때 선택된 텍스트를 감싸는 함수가 있습니다. 스팬의 클래스는 라인 스루가 빨간색으로 표시되어 '삭제됨'을 나타냅니다.Delete/Backspace 키의 기능 변경
CSS :
.deleted {
text-decoration:line-through;
color:red;
}
자바 스크립트 :
$(document).keydown(function(e) {
(e) ? keycode = e.keyCode : keycode = event.keyCode;
if (keycode == 8 || 46) {
var span = document.createElement("span");
span.className = "deleted";
if (window.getSelection) {
var sel = window.getSelection();
if (sel.rangeCount) {
var range = sel.getRangeAt(0).cloneRange();
range.surroundContents(span);
sel.removeAllRanges();
sel.addRange(range);
}
}
}
});
이 내가 삭제 키를 누를 때, 자연스럽게 선택한 텍스트를 삭제 만, 여전히 <span>
요소를 생성하는 contenteditable
텍스트입니다. 텍스트가 남아 있지만 여전히 <span>
으로 래핑되도록 삭제 키의 기존 기능을 비활성화하는 방법이 있습니까?
감사합니다. 이제는 내 문서가 더 이상 contenteditable이 아닌 것을 제외하고는 작동한다. –
'document.body.contentEditable = 'false'; document.designMode = 'off';'그런 다음 함수의 끝에서 다시 켜야합니까? –
그게 가능해야합니다 - 그냥 테스트하고 볼 수 있을까요? 위의 정보를 사용하여 e.preventDefault(); 그리고 기능의 끝에서, 당신은 그것을 다시 켜십시오, 그것은 이론적으로 작동합니다. – junkfoodjunkie