텍스트 영역에서 문자의 캐럿 열 위치 가져오기
Firefox 및 Safari와 같은 브라우저의 경우 textarea.selectionStart를 활용하면 간단한 솔루션을 제공합니다. 그러나 Internet Explorer에서는 다른 접근 방식이 필요합니다. 다음은 두 경우 모두에 맞는 강력한 솔루션입니다.
function getCaret(node) { if (node.selectionStart) { return node.selectionStart; } else if (!document.selection) { return 0; } var c = "<pre class="brush:php;toolbar:false">function getCaret(el) { if (el.selectionStart) { return el.selectionStart; } else if (document.selection) { el.focus(); var r = document.selection.createRange(); if (r == null) { return 0; } var re = el.createTextRange(), rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return rc.text.length; } return 0; }1", sel = document.selection.createRange(), dul = sel.duplicate(), len = 0; dul.moveToElementText(node); sel.text = c; len = dul.text.indexOf(c); sel.moveStart('character',-1); sel.text = ""; return len; }
또한 jQuery FieldSelection 플러그인은 캐럿 위치를 검색하고 고급 텍스트 선택 작업을 수행하는 편리한 방법을 제공합니다.
업데이트된 구현:
다음은 향상된 기능을 제공하는 getCaret 함수의 업데이트된 버전입니다. 정확성:
이러한 솔루션을 사용하면
위 내용은 여러 브라우저에서 텍스트 영역의 캐럿 열 위치를 안정적으로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!