와 iframe에 caret의 현재 위치로부터의 오프셋 (offset)하는 방법을 나는 사용자가 (자동 완성을 위해) 특정 키 조합을 입력하는 경우에, contentEditable
와 함께 iframe
에 떠있는 div
요소를 배치하고 싶습니다 . 픽셀이의 contentEditable
document.getElementById('elm1_ifr').contentWindow.getSelection().anchorOffset
내가 사업부의 left
속성을 계산하기 위해 이것을 사용할 수 있습니다,하지만 난 top
을 얻는 방법을 알아낼 수 없습니다.
내가 사용하던 생각 또 다른 가능성 : document.getElementById('elm1_ifr').contentWindow.getSelection().anchorNode.parentNode
을 그리고 오프셋을 얻기 위해 jQuery를 사용하지만 부모가 긴 텍스트 행이있는 경우, 내가 첫 번째 라인의 상단 위치를 추출 할 수있을 것입니다 .
아무도 도와 줄 수 있습니까?
당신이 후, 현재 캐럿 위치를 0으로 범위를 설정 왼쪽 + 폭 및 상단 + 높이 오프셋을 얻기 위해'getBoundingClientRect()'를 사용 할 수 없습니다, 다음 캐럿을 복원 환경? – Mottie
낡은 스레드 예,하지만 [execCommand ('insertHTML')']을 사용하여 요소를 삽입하고이를 제거하면 실행 취소/다시 실행 스택이 망가질 수 있습니다. 실행 취소/다시 실행이 중요하지 않은 경우 중요하지 않습니다. – techfoobar
@techfoobar : 좋은 지적입니다. 대답에 대한 쪽지를 추가했습니다. –