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.
To disable the toolbar, the toolbar option should be provided a boolean value of false .
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.
Clicking and dragging the resize handle in the bottom right-hand corner of the editor.
Use the checkbox to toggle between the "design" and "readonly" modes.
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)
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);
})();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With