7

tinyMCE 将这些添加move and resize handles到我的一些元素(不仅仅是图像)中。

我很想一起摆脱它们,但我没有成功。

这些对我不起作用

tinyMCE.init({

   object_resizing : false

});

看起来应该很容易。

好的,所以看起来它正在将调整大小的 js 添加到任何绝对定位的元素中。如果这可以帮助任何人回答。

我只是试图删除它,但我需要定位它来做我需要的。

4

2 回答 2

4

删除 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);
        }
});

唯一不幸的是,您的用户必须点击返回编辑器才能继续编辑(箭头键不起作用)

于 2014-03-21T19:30:10.957 回答
3

在你的编辑器的 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);  

})();
于 2012-11-13T01:34:19.880 回答