tinyMCE 将这些添加move and resize handles
到我的一些元素(不仅仅是图像)中。
我很想一起摆脱它们,但我没有成功。
这些对我不起作用
tinyMCE.init({
object_resizing : false
});
看起来应该很容易。
好的,所以看起来它正在将调整大小的 js 添加到任何绝对定位的元素中。如果这可以帮助任何人回答。
我只是试图删除它,但我需要定位它来做我需要的。
tinyMCE 将这些添加move and resize handles
到我的一些元素(不仅仅是图像)中。
我很想一起摆脱它们,但我没有成功。
这些对我不起作用
tinyMCE.init({
object_resizing : false
});
看起来应该很容易。
好的,所以看起来它正在将调整大小的 js 添加到任何绝对定位的元素中。如果这可以帮助任何人回答。
我只是试图删除它,但我需要定位它来做我需要的。
删除 jQuery,并使 cheez la weez 的答案适用于 TinyMCE 版本 4。在插件、初始化代码或实例化编辑器后仅在页面中使用它
// 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);
}
});
唯一不幸的是,您的用户必须点击返回编辑器才能继续编辑(箭头键不起作用)
在你的编辑器的 body 标签中是一个属性contenteditable="true"
。这就是添加那些讨厌的调整大小元素的原因。
如果您将该属性设置为false
您将无法编辑任何内容。
你需要做的是设置一个onMouseDown
监听器。如果用户单击有问题的元素...将其设置为contenteditable="false"
. 如果有任何其他元素,请将其设置为contenteditable="true"
.
尝试这个...
(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);
})();