2013-05-12 13 views
6

के साथ एक्सेक कॉमांड ईवेंट पर हुक करें मैं TinyMCE 4 का उपयोग कर रहा हूं लेकिन दस्तावेज़ीकरण भयानक है। मैं किसी अन्य div (संपादक के बाहर) में सामग्री का लाइव पूर्वावलोकन प्रदान करने की कोशिश कर रहा हूं। अभी मैं इन घटनाओं सुन रही हूँ:TinyMCE 4

$(document).on('tinymce:changed tinymce:init', ...) 

यह जब पाठ दर्ज किया गया है काम कर रहा है, लेकिन यह ट्रिगर नहीं करता जब आदेशों क्रियान्वित कर रहे हैं (उदाहरण के लिए बोल्ड करने के लिए मौजूदा पाठ बदलना)।

ऐसा लगता है कि TinyMCE 3.x में onExecCommand ईवेंट है जो मैं चाहता हूं। लेकिन मुझे वैश्विक jQuery घटना को सुनने के तरीके पर कोई दस्तावेज नहीं मिल रहा है जैसे कि मैं परिवर्तन और init के साथ कर रहा हूँ। क्या किसी को पता है कि यह किस फायरिंग पर है?

+0

मैं tinymce4 का उपयोग नहीं करने की सलाह देते जब तक कि यह, कि "ओल्ड घटना बीटा स्थिति – Thariama

उत्तर

4

में migration guide आप निम्न उदाहरण मिल सकते हैं:

// Old event 
editor.onInit(editor, args) { 
    // Custom logic 
}); 

// New event 
editor.on('init', function(args) { 
    // Custom logic 
}); 

तो एक समस्या सही घटना नाम और सही संपादक उदाहरण :) onExecCommand() घटना हो जाता है 'execCommand' प्राप्त करने के लिए है वी 4 में। इस घटना की आग में दो बार जब आदेश निष्पादित किया जाता है

for (ed_id in tinymce.editors) { 
    tinymce.editors[ed_id].on('ExecCommand', function(args) { 
     alert(1); 
    }); 
} 

किसी कारण के लिए:

तो आदेश निष्पादन पर कोई हैंडलर जोड़ने इस तरह होना चाहिए (यह सुनिश्चित करें कि संपादकों को पहले से ही प्रारंभ कर रहे हैं जब नीचे कोड को क्रियान्वित हो)। मुझे लगता है कि आप इस मुद्दे को दूर करेंगे।

हालांकि यह विधि jQuery बाइंडिंग का उपयोग नहीं करती है, यह मेरे लिए काम करती है और संभवतः आपकी समस्या का समाधान भी करेगी।

+0

वाह से बाहर है "कोड थोड़ा सा है ... ऐसा लगता है कि यह रूबी है। – alxndr