javascript - 使用 Tinymce 创建自定义弹出窗口

标签 javascript jquery html tinymce tinymce-4

下面是我的 Tinymce textarea 的代码

    tinymce.init({
        selector: "textarea",
        height : 350,
            plugins: [
                    "link image lists preview anchor"
            ],
        toolbar: " image bold italic | formatselect | undo redo | cut copy paste | bullist numlist | undo redo | link unlink dummyimg | preview",
        menubar: false,
        toolbar_items_size: 'small',
        setup : function(ed) {
        // Add a custom button
        ed.addButton('dummyimg', {
            title : 'Add image',
            image : 'resources/images/img.jpg',
            onclick : function() {
                if($('#imageupload').val()){
                  ed.focus();
                  ed.selection.setContent('<img src="<%=strWebhost%>/news_cms/resources/images/dummyimg.jpg" />');
                } else{
                  alert("Please select an image.");
                }

                }
            });
        },
        onchange_callback: function(editor) {
            tinyMCE.triggerSave();
            $("#" + editor.id).valid();
        }
   });

我添加了一个名为 dummyimg 的自定义按钮,它将预定义的图像添加到 tinymce 容器中。我的要求是,我需要一个如下所示的弹出窗口,它使我能够使用自定义按钮仅添加图像 title

enter image description here

提前致谢。

最佳答案

这个例子应该让你开始:

tinymce.init({
    selector:'textarea.editor',
    menubar : false,
    statusbar : false,
    toolbar: "dummyimg | bold italic underline strikethrough | formatselect | fontsizeselect | bullist numlist | outdent indent blockquote | link image | cut copy paste | undo redo | code",
    plugins : 'advlist autolink link image lists charmap print preview code',
    setup : function(ed) {
        ed.addButton('dummyimg', {
            title : 'Edit Image',
            image : 'img/example.gif',
            onclick : function() {
                ed.windowManager.open({
                    title: 'Edit image',
                    body: [
                        {type: 'textbox', name: 'source', label: 'Source'}
                    ],
                    onsubmit: function(e) {    
                        ed.focus();
                        ed.selection.setContent('<pre class="language-' + e.data.language + ' line-numbers"><code>' + ed.selection.getContent() + '</code></pre>');
                    }
                });
            }
        });
    }
});

显然,您需要编辑 onsubmit 中的 ed.selection.setContent 行以满足您自己的需要,并设置正确的 toolbar plugins 设置。

关于javascript - 使用 Tinymce 创建自定义弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822409/

相关文章:

javascript - 如何将 AdWords 转化跟踪代码添加到 drupal 中的特定表单

javascript - 当数组由对象组成时,Knockout checkedValue 绑定(bind)不起作用

javascript - 如何根据鼠标移动/位置应用效果?

javascript - 我如何使用 jQuery 匹配仅具有特定属性而没有其他任何元素的元素?

html - 如何让两个 HTML 部分块在 CSS 中对齐?

javascript - 在 IE 中设置边框的不透明度(version<=8)

javascript - linq.js 意外结果

JavaScript 可以在 Debug模式下工作,但不能在正常模式下工作

javascript - 当元素变得可见时增加?

javascript - 尝试使用 jQuery 在点击时切换 iframe YouTube 视频的 URL