Tôi muốn định vị phần tử div
nổi trong iframe
với contentEditable
, trong trường hợp người dùng nhập một tổ hợp phím nào đó (cho mục đích tự động hoàn thành) .Cách lấy điểm ảnh bù từ vị trí dấu nháy hiện tại trong iframe có contentEditable
Tôi biết làm thế nào để có được vị trí dấu nháy: document.getElementById('elm1_ifr').contentWindow.getSelection().anchorOffset
Tôi có thể sử dụng để tính toán left
tài sản của div, nhưng tôi dường như không thể tìm ra cách để có được những top
.
Một khả năng tôi nghĩ về đã sử dụng: document.getElementById('elm1_ifr').contentWindow.getSelection().anchorNode.parentNode
Và sử dụng jQuery để có được bù đắp, nhưng nếu cha mẹ có một dòng văn bản dài, tôi sẽ chỉ có thể trích xuất các vị trí hàng đầu của dòng đầu tiên .
Có ai có thể giúp tôi với điều này không?
Không thể bạn thiết lập phạm vi là từ 0 đến vị trí dấu nháy hiện tại, sau đó sử dụng 'getBoundingClientRect()' để có được trái + chiều rộng & Đầu Trang + chiều cao bù đắp, sau đó khôi phục lại caret để nó trước cài đặt? – Mottie
Chủ đề cũ có, nhưng đáng nting rằng chèn một phần tử [sử dụng 'execCommand ('insertHTML')'] và loại bỏ nó messes up undo/redo stack. Không quan trọng nếu undo/redo là không đáng kể. – techfoobar
@techfoobar: Tốt, cảm ơn. Tôi đã thêm một ghi chú vào câu trả lời. –