की रीडी, उदाहरण के पूर्ण होने के बाद मैं अपने सीकेएडिटर उदाहरण को "पढ़ने के लिए" सेट करने की कोशिश कर रहा हूं लेकिन मुझे जावास्क्रिप्ट त्रुटि मिल रही है: Cannot call method 'setReadOnly' of null
। जब मैं इसमें खोदता हूं, तो editor.setReadOnly
विधि के भीतर, ckeditor.js में त्रुटि इस पंक्ति से आ रही है: this.editable().setReadOnly(a);
इसका मतलब है कि संपादक मौजूद है, लेकिन editable
विधि/विशेषता (CKEditor उदाहरण पर) नहीं है।setRead उदाहरण पर कॉल करते समय त्रुटि का कारण बनता है CKEditor
नीचे मेरा कोड है, और मैं इसे थोड़ा समझाऊंगा। मेरा ऐप जीडब्ल्यूटी और बैकबोन का संयोजन है। सीकेडिटर स्वयं बैकबोन कोड द्वारा बनाया गया है लेकिन मूल तत्व जीडब्ल्यूटी में है, इसलिए मैं setEnabled
एक्शन शुरू करता हूं।
private native void setEnabledOnLoad(boolean enabled, String id) /*-{
CKEDITOR.on("instanceReady", function(evt) {
if(evt.editor.name === id) {
Namespace.trigger(Namespace.Events.SET_ENABLED, enabled);
}
});
}-*/;
setEnabled: function(enabled) {
this.editor.setReadOnly(!enabled);
if(enabled){
this.editor.focusManager.focus();
} else {
this.editor.focusManager.blur();
}
}
बैकबोन वर्ग कि setEnabled
चलाता है Namespace.Events.SET_ENABLED
के लिए एक श्रोता है।
क्या कोई और सीकेडिटर घटना है जिसे मुझे सुनना चाहिए? editable
पर instanceReady
ईवेंट प्रतीत नहीं होता है। मैं क्या खो रहा हूँ?
संपादित
this.editor
इस तरह रीढ़ वर्ग render
समारोह में बन जाता है:
this.editor = CKEDITOR.replace(this.$(this.id)[0], config);
कारण मैं instanceReady
श्रोता सही होने के बाद यह बनाया गया है समारोह setEnabledOnLoad
में कहा जाता है क्योंकि न जोड़ें उदाहरण से पहले जीडब्ल्यूटी पूरी तरह से शुरू किया गया है। यह कोड दो स्थानों पर होने का नतीजा है। जीडब्ल्यूटी ने कहा है, "ठीक है, उदाहरण बनाएं" लेकिन बैकबोन उस समय तक समाप्त नहीं हुआ है जब जीडब्ल्यूटी कोड की अगली पंक्ति में जाता है और इसे सक्षम/अक्षम करना चाहता है।
'CKEDITOR' में सभी उदाहरण हैं, लेकिन यह भी बहुत कुछ करता है। उदाहरण के लिए मैं 'instanceReady' श्रोता को नहीं जोड़ता क्योंकि यह उदाहरण बनाया गया है कि' setEnabledOnLoad' 'फ़ंक्शन को बनाया गया है। यह कोड दो स्थानों पर होने का नतीजा है। जीडब्ल्यूटी ने कहा है, "ठीक है, उदाहरण बनाएं" लेकिन बैकबोन उस समय तक समाप्त नहीं हुआ है जब जीडब्ल्यूटी कोड की अगली पंक्ति में जाता है और इसे सक्षम/अक्षम करना चाहता है। –
मैं मानता हूं कि बैकबोन और जीडब्ल्यूटी पर मेरे उत्तर को आगे बढ़ाने के लिए मुझे उचित ज्ञान नहीं है:] उम्मीद है कि कोई भी कूद सकता है। – Noseratio