2017-01-16 20 views
0

Я использую Quill text editor в качестве текстового редактора моего сайта, одним из вариантов сайта является создание динамических текстовых редакторов, функция, определяющая редактор кириллинга, выглядит так:Редактор Quill, как использовать экземпляры после создания с помощью JQuery

function quillDefine(quillID) //quillID is the id of the div that I'm going to define as quill element 
{ 
    var toolbarOptions = 
     [ 
      ['bold', 'italic', 'underline', 'strike'], 
      ['blockquote'], 
      [{'align':[]}], 
      ['clean'] 
     ] 

    var quill = new Quill('#'+quillID, { 
     modules: {toolbar: toolbarOptions}, 
     theme: 'snow' 
    }); 
} 

Как я могу использовать этот экземпляр, который я создал в других функциях? , например:

funciton getQuillInstanceText(quillID) 
{ 
    //I know I can use $('#'quillID).html(), but is that the proper way to do so? 
} 

Я хочу использовать quill API functions как getContents() и т.д.

Как я могу добраться к экземпляру я только что создал? Большое спасибо.

ответ

2

К сожалению нет API Quill, который вернет экземпляр Quill из соответствующего контейнера DOM. Если вы используете JQuery вы можете использовать $ .data():

var quill = new Quill(quillID); 
$(quillID).data("quill", quill); 

funciton getQuillInstanceText(quillID) { 
    var quill = $(quillID).data("quill"); 
    var text = quill.getText(); 
    return text; 
} 

Или с простым JS:

var container = document.querySelector(quillID); 
var quill = new Quill(container); 
container.__quill = quill; 

funciton getQuillInstanceText(quillID) { 
    var container = document.querySelector(quillID); 
    var quill = container.__quill; 
    var text = quill.getText(); 
    return text; 
} 

Edit: На Quill 1.2.0, теперь вы можете использовать экспериментальную find API ,