> 웹 프론트엔드 > JS 튜토리얼 > 크로스 브라우저 환경에서 콘텐츠 끝에 캐럿을 일관되게 배치하는 방법은 무엇입니까?

크로스 브라우저 환경에서 콘텐츠 끝에 캐럿을 일관되게 배치하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-19 08:54:03
원래의
930명이 탐색했습니다.

How to Consistently Place the Caret at the End of Content in a Cross-Browser Environment?

콘텐츠 끝 부분의 캐럿 배치: 크로스 브라우저 솔루션

웹 개발에서 사용자가 텍스트를 편집할 수 있도록 하려면 캐럿( 커서)가 올바르게 표시됩니다. 이는 브라우저 간 호환성을 다룰 때 문제가 됩니다.

브라우저별 동작

브라우저마다 편집 가능한 콘텐츠를 다르게 처리합니다.

  • Chrome: 삽입
    줄바꿈
  • Firefox: 삽입
    를 사용합니다. 새 줄
  • IE: 삽입

    새 문단

끝에 캐럿 설정

브라우저에 관계없이 텍스트 끝에 일관되게 캐럿을 설정하려면 다음 기능을 구현할 수 있습니다. :


<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">el.focus();
if (typeof window.getSelection != "undefined"
        &amp;&amp; typeof document.createRange != "undefined") {
    var range = document.createRange();
    range.selectNodeContents(el);
    range.collapse(false);
    var sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);
} else if (typeof document.body.createTextRange != "undefined") {
    var textRange = document.body.createTextRange();
    textRange.moveToElementText(el);
    textRange.collapse(false);
    textRange.select();
}
로그인 후 복사

}

구현

이 기능을 사용하려면 간단히 다음에 호출하세요. 편집 가능한 요소를 생성했습니다:

...

placeCaretAtEnd( document.querySelector('p') );
로그인 후 복사

이점

이 크로스 브라우저 솔루션은 텍스트 편집에 대한 일관되고 사용자 친화적인 경험을 제공하여 커서가 항상 끝 부분에 올바르게 위치하도록 보장합니다. 텍스트.

위 내용은 크로스 브라우저 환경에서 콘텐츠 끝에 캐럿을 일관되게 배치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿