Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

tinyMCE remove/disable resizing toggles

tinyMCE is adding those move and resize handles to some of my elements (not just the images).

i would love to get rid of them all together but i have had no success.

these did not work for me

tinyMCE.init({

   object_resizing : false

});

seems like it should be real easy.

OK, so it looks like it is adding the resize js to any element that is absolutely positioned. if that helps anyone with an answer.

i just tried to remove it but i need to position it to do what i need.

like image 441
100pwd Avatar asked Nov 12 '12 22:11

100pwd


People also ask

How do I disable TinyMCE editor toolbar?

To disable the toolbar, the toolbar option should be provided a boolean value of false .

How do you get rid of Tinyed by power on TinyMCE?

Use the branding option to disable the “Powered by Tiny” link displayed in the status bar for product attribution. Important: Product attribution is required for free and open source users. For information on TinyMCE attribution requirements, see: Logo & attribution requirements.

How do I resize TinyMCE?

Clicking and dragging the resize handle in the bottom right-hand corner of the editor.

How do you make TinyMCE editor readonly?

Use the checkbox to toggle between the "design" and "readonly" modes.


2 Answers

Removing jQuery, and making cheez la weez's answer work for TinyMCE version 4. Use this in a plugin, in your init code, or just in your page after you instantiate the editor

// var editor = your tinyMCE editor instance (e.g. tinymce.activeEditor)

editor.on('mousedown', function(e) {

        var element = e.target,
            body = editor.dom.doc.body;

        if (editor.dom.hasClass( element, 'your-class')) {
            editor.dom.setAttrib(body,'contenteditable',false);
        } else {
            editor.dom.setAttrib(body,'contenteditable',true);
        }
});

The only unfortunate bit is that your user will have to click back into the editor to resume editing (arrow keys won't work)

like image 63
Nic Avatar answered Oct 08 '22 20:10

Nic


in the body tag of your editor is an attribute contenteditable="true". that is what is adding those pesky resizing elements.

if you set that attribute to false you will not be able to edit anything.

what you need to do is set up an onMouseDown listener. if the user is clicking on the elements in question... set it to contenteditable="false". if any other element, set it to contenteditable="true".

try this...

(function() {  

    tinymce.create('tinymce.plugins.yourplugin', {  

        init : function(ed, url) { 

            ed.onMouseDown.add(function(ed, e) {    

                var body = ed.getBody();

                if(jQuery(e.target).hasClass('target-in-question')) {

                    jQuery(body).attr({'contenteditable': false})

                    // and whatever else you want to do when clicking on that element

                }else {
                    jQuery(body).attr({'contenteditable': true})
                }

            }); 

        },  

        createControl : function(n, cm) {  

            return null;  

        },  

    });  

    tinymce.PluginManager.add('yourplugin', tinymce.plugins.yourpluginl);  

})();
like image 3
cheez la weez Avatar answered Oct 08 '22 18:10

cheez la weez