2017-01-09 13 views
1

下面是與屬性增量:獲取光標處(不選擇),δ,不要把它

試圖與

editor.getContents(range.index, range.length); 

回報,以獲得增量

Delta: { 
    ops: [] 
    } 

預計 - range.length爲0.

是否有返回整個增量(從左至右),所以它看起來像這樣的一種方法:

Delta: { 
    ops: [ 
    { 
     attributes: { test: '123' }, 
     insert: 'A selection' 
    }, 
    ... 
    ] 
} 

回答

0

假設一個稍微複雜的實施例消除歧義和假設測試123屬性與類中實現Attributor,鑑於該文件:

<div class="ql-editor"> 
    <p><strong>ab</strong><span class="ql-test=123">cd<em>ef</em></span></p> 
</div> 

我想你問然而越來越三角洲的「CDEF」文本當用戶的光標在「E」和「F」等你的範圍是index: 5之間。

這是一個實驗/未公開的API但quill.scroll.path(5)將得到你在這種情況下要陣列[[blockBlot, 0], [inlineBlot, 2], [italicBlot, 1]]和印跡是第二個,從而由所述偏移它求和你將有2(0 + 2),然後你可以調用quill.getContents(2,blot.length())。

如果類是唯一的(或者你可以訪問DOM節點其他方式),你也可以這樣做:

const Parchment = Quill.import("parchment"); 
let node = document.querySelector('.ql-test-123'); 
let blot = Parchment.find(node); 
let offset = quill.scroll.offset(blot); 

quill.getContents(offset, blot.length()); 
+0

非常感謝您的幫助! :-) –