contentEditable <div>를 처리할 때 기본 브라우저 기능은 커서 위치를 텍스트의 시작 부분으로 재설정합니다. 초점을 되찾은 후. 이 문제를 해결하려면 다음 해결 방법을 고려하십시오.
커서 위치 저장 및 복원:
이 접근 방식은 커서가 마지막으로 알려진 위치에 위치하도록 보장합니다. div가 포커스를 다시 얻었을 때.
처리 클릭수:
div 클릭 시 선택을 복원하려면 다음 추가 단계가 필요합니다.
작업 코드:
<div>
var savedRange, isInFocus; function saveSelection() { savedRange = window.getSelection ? window.getSelection().getRangeAt(0) : document.selection.createRange(); } function restoreSelection() { isInFocus = true; document.getElementById("area").focus(); if (savedRange) { if (window.getSelection) { var s = window.getSelection(); s.removeAllRanges(); s.addRange(savedRange); } else if (document.createRange) { window.getSelection().addRange(savedRange); } else if (document.selection) { savedRange.select(); } } } function onDivBlur() { isInFocus = false; } function cancelEvent(e) { if (isInFocus === false && savedRange) { if (e && e.preventDefault) { e.stopPropagation(); e.preventDefault(); } else { window.event.cancelBubble = true; } restoreSelection(); return false; } }
위 내용은 ContentEditable Div에서 커서 위치를 설정하고 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!