簡體   English   中英

在CSS3專欄中獲取文字?

[英]Get text in CSS3 column?

我正在使用CSS3對項目中列支持的支持(到目前為止,我發現它比大多數JavaScript解決方案更強大和可靠)。

問題:是否可以以任何方式獲取特定列中的文本?

而且......兩個月之后呢? 我終於找到了這個問題的答案。 它依賴於document.caretRangeFromPoint(Webkit)或document.caretPositionFromPoint

var getAllTextInColumn = function(rect){
    /*
        rect should be the size and x,y of the column
        { top, left, width, height }
    */

    if(document.caretRangeFromPoint){
        var caretRangeStart = document.caretRangeFromPoint(rect.left, rect.top);
        var caretRangeEnd = document.caretRangeFromPoint(rect.left+rect.width-1, rect.top+rect.height-1);
    } else {
        return null;
    }

    if(caretRangeStart == null || caretRangeEnd == null) return null;

    var range = document.createRange();
    range.setStart(caretRangeStart.startContainer, caretRangeStart.startOffset);
    range.setEnd(caretRangeEnd.endContainer, caretRangeEnd.endOffset);

    return range.toString();
};

我唯一的猜測是開始用SPAN替換空格,然后檢測該SPAN的垂直位置何時變小,然后你知道你在下一列。 最后一個SPAN成為列標記。

然后,您可以復制開頭/結尾和/或列制作者之間的文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM