Tinymce:如何显示弹出框动态工具栏;



我有以下简单的html脚本:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://cloud.tinymce.com/stable/tinymce.min.js"></script>
<script src="//cdn.tinymce.com/4/tinymce.min.js"></script> <!-- tinymce dependency -->
<script>
tinymce.PluginManager.add('imageClick',(editor)=>{
editor.on('click',function(event){
const element = event.target;
//add code to open the internal toolbar
})
})
tinymce.init({
selector:'textarea',
skin: 'lightgray',
theme: 'modern',
plugins: 'link image paste autolink media lists imageClick',
toolbar: ['bold italic underline | alignleft aligncenter alignright alignjustify | link media image | undo redo '],
});
</script>
</head>
<body>
<textarea>Next, get a free TinyMCE Cloud API key!</textarea>
</body>
</html>

现在,我想在图像上显示一个自定义工具栏,其中包含一些自定义提供的按钮。类似于 https://www.tinymce.com/docs/plugins/imagetools/但我不知道该怎么做。

您是否知道如何以编程方式在 tinymce 中的特定 html 元素上创建自定义工具栏?

提供此功能的功能是您可以在其中找到以下相关文档的editor.addContextToolbar

https://www.tinymce.com/docs/api/tinymce/tinymce.editor/#addcontexttoolbar

换句话说,开发插件的推荐方法是:

tinymce.PluginManager.add('imageClick',function(editor){
var lastSelectedImage=undefined;
function addEvents() {
editor.on('click', function (e) {
if (lastSelectedImage && lastSelectedImage.src != e.element.src) {
lastSelectedImage = undefined;
}
// Set up the lastSelectedImage
if (isEditableImage(e.element)) {
lastSelectedImage = e.element;
}
});
}
function isEditableImage(img) {
var selectorMatched = editor.dom.is(img, 'img:not([data-mce-object],[data-mce-placeholder])');
return selectorMatched;
}
function addToolbars() {
var toolbarItems = editor.settings.myimagetools_toolbar;
if (!toolbarItems) {
toolbarItems = 'alignleft aligncenter alignright alignjustify';
}
editor.addContextToolbar(
isEditableImage,
toolbarItems
);
}
addToolbars()
addEvents()
})

基于图像工具插件的源代码。

提示:

您可以通过下载 tinymce 的开发包来访问插件源代码:

http://download.ephox.com/tinymce/community/tinymce_4.6.4_dev.zip?_ga=2.167213630.1854029251.1501225162-27629746.1501225162

解压缩它并查看^location_you_unziped/tinymce/src/plugins^以便查看并将您的插件建立在 tinymce 提供的插件之上。

最新更新