2016-10-01 14 views
8

Tôi muốn tìm hiểu xem trình duyệt web đã bao bọc văn bản trong một số div nhất định.JavaScript: tìm vị trí gói văn bản của chúng tôi xảy ra trong div

Động lực cho việc này là trình soạn thảo WYSIWYG sử dụng contenteditable. Người dùng viết văn bản trong đó, và tùy thuộc vào độ rộng của trường có thể chỉnh sửa, phông chữ và các yếu tố khác, nó kết thúc tốt đẹp tại các vị trí nhất định. Tôi muốn biết những nơi này xảy ra.

Tôi chỉ có thể nghĩ đến các giải pháp rất khốc liệt (ví dụ: chèn span xung quanh mỗi ký tự, lặp lại các nhịp này, nhận thuộc tính offsetTop và ghi chú bất cứ khi nào thay đổi). Có cách nào tốt hơn/tiêu chuẩn để làm điều này?

+1

gì đang muốn làm gì với những thông tin? Bạn có thêm các phần tử tại các điểm ngắt hay chỉ cần biết có bao nhiêu lần ngắt, v.v ...? – kthornbloom

+0

Chúng tôi muốn sử dụng thông tin này nhận được kết quả tương tự khi hiển thị nội dung sang các định dạng khác. Nói cách khác, người dùng chỉnh sửa nội dung trên web và thấy các đường đứt đoạn tại các vị trí cụ thể. Sau đó, người dùng gửi dữ liệu đến máy chủ. Máy chủ sẽ hiển thị một tệp PDF trông tương tự nhất có thể. – Sjlver

+1

Có nhiều câu trả lời cho câu hỏi này trong SO và bên ngoài: https://github.com/xdamman/js-line-wrap-detector http://stackoverflow.com/questions/12887372/detect-browser-wrapped-lines- qua javascript –

Trả lời

1

Tôi đã làm một google và tìm thấy điều này trên ngăn xếp tràn, không chắc chắn đây là những gì bạn đang sau, nhưng cung cấp cho nó một đọc. Nó khá cũ.

Finding line-wraps

0
document.getElementById("body").onchange = function() {myFunction()}; 

     function myFunction() { 
      //Your eval script to log where changes took place 
     } 

Hoặc

document.getElementById('body').addEventListener('change', myFunction()); 
Các vấn đề liên quan