2016-10-01 43 views
8

我想知道網頁瀏覽器在給定的div中包裹了哪些文本。JavaScript:找到我們的文本換行發生在哪裏

這個動機是一個所見即所得的編輯器,它使用contenteditable。用戶在那裏寫文本,根據可編輯字段的寬度,字體和其他因素,它會在特定位置打包。我想知道這些發生在哪裏。

我只能想到非常黑客的解決方案(例如,在每個角色周圍插入一個span,在這些跨度上循環,獲取他們的offsetTop屬性,並在其更改時進行記錄)。有沒有更好的/標準的做法?

+1

什麼是想與信息呢?你是在斷點處添加元素,還是僅僅需要知道多少斷點等? – kthornbloom

+0

我們希望在將內容呈現爲其他格式時使用此信息獲得相同的結果。換句話說,用戶在網絡上編輯內容並在特定位置看到線條斷裂。然後用戶將數據提交給服務器。服務器應該呈現看起來儘可能相似的PDF。 – Sjlver

+1

在SO和外部有很多這個問題的答案:https://github.com/xdamman/js-line-wrap-detector http://stackoverflow.com/questions/12887372/detect-browser-wrapped-lines- via-javascript –

回答

1

我做了一個谷歌,發現堆棧溢出,不知道這是你以後,但給它一個閱讀。這是相當古老的。

Finding line-wraps

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

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

或者

document.getElementById('body').addEventListener('change', myFunction()); 
相關問題