2016-09-06 22 views
1

工具:Quill.js 使用例 爲了讓用戶在只讀編輯器中選擇一個文本範圍並應用突出顯示。Quill.js - 無法取得只讀選擇範圍:真主編Quill.js 0.20.1 -

詳細的上下文 我在維護一些使用Quill 0.20.1的代碼。我創建了一個readOnly:true編輯器來禁止內容被更改。儘管編輯器中的文本內容是隻讀的,但我仍然希望用戶能夠選擇,突出顯示並關聯一些引用所做選擇的元數據。 (基本上,我想讀什麼選擇範圍上的鵝毛筆編輯器中進行用戶)

所以我試過如下:

readOnlyHighlightable.quill.editor.selection.getRange(); // And it did not work 

,並試圖監聽事件「評選變」也似乎並不被事件調用。

readOnlyHighlightable.quill.on("selection-change", function (range) { 
    console.log(range); 
}); 

相比之下,如果我從羽毛筆編輯器構造函數中刪除了readOnly標誌,它工作得很好。這是期望的行爲嗎?爲什麼readOnly編輯器不可選?

最後,我創建了一個簡單的編輯器(主題:雪和格式:[「背景」]),我試圖禁用與下面的函數編輯器,目前仍是範圍函數不返回選擇的範圍。

quill.editor.enable(false); 

如果我不調用enable(false)函數,getRange()可以正常工作。

範圍函數: quill.editor.selection.getRange();

Disable功能: quill.editor.enable(假);

PS。我對Quill 1.0感到興奮,但是我必須在Quill.js 0.20.1中實現此功能。

+0

你有沒有想出解決辦法? – superquest

回答

0

奎爾選擇工作是在這個編輯器是當前「活動」元素的推定。但從瀏覽器的角度來看,禁用的content-editable div並不活躍。所以,你可以解決此通過設置選項卡索引:1就可以使瀏覽器返回的真實「是有源元件」

$("#ql-editor-1").attr("tabIndex", 1); 
myEditor.quill.editor.selection.getRange(); 

希望這有助於。