javascript - tinymce 自定义按钮替换内容

标签 javascript tinymce wysiwyg rte

我添加了一个自定义的“引用”按钮。

ed.addButton('blockquote', {
    title : 'blockquote',
    cmd : 'mceblockquote',
    image : url + '/img/blockquote.gif',
    onclick : function() {
        var blockquoteActive = tinyMCE.activeEditor.controlManager.get('blockquote').isActive();
        if (blockquoteActive) {
             //replace <blockquote> tags ?!
             //set Button inactive       
        }
        else {
            ed.selection.setContent('<blockquote>' + ed.selection.getContent() + '</blockquote><br />');
        }
        }

});

ed.onNodeChange.add(function(ed, cm, n) {
    cm.setActive('blockquote', n.nodeName == 'IMG');
})

当我点击按钮时,一切正常。引用了选择。

  • 如何在再次点击按钮时替换 blockquote-tags?
  • 如何将按钮设置为非事件状态?

问候, 萨隆巴

最佳答案

成功了谢谢... 我做了一些改变(也许/可能是改进)。

什么都不选,什么都不做

当文本已经被引用时

当用户双击标记文本时,blockquote 元素现在将被删除

onclick : function() {
                var blockquoteActive = tinyMCE.activeEditor.controlManager.get('blockquote').isActive();
                var selection = ed.selection.getContent();
                if (blockquoteActive) {

                   if (selection) {
                       var parElem = ed.dom.getParent(ed.selection.getNode(), 'blockquote');
                       var inner = parElem.innerHTML;
                       ed.dom.remove(parElem);
                       ed.selection.setContent(inner);
                   }
                   else return

                }
                else {
                    if (selection) {
                        ed.selection.setContent('<blockquote>' + ed.selection.getContent() + '</blockquote><br />');
                    }
                }
            }

关于javascript - tinymce 自定义按钮替换内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431346/

相关文章:

Javascript,将变量传递给点击事件?

javascript - 如何从 TinyMCE 编辑器中提取 HTML 内容

javascript - tinymce textarea 值错误 - 无法解决

Tinymce Windowmanager.open() 参数

html - 所见即所得编辑器 vs 手写代码

javascript - ReactlySetInnerHTML 和 script 标签

javascript - 避免 AngularJS 栏脚重叠内容

javascript - 当系统浏览器打开时,Cordova inappbrowser 丢失事件处理程序

javascript - JS 函数返回 false 变量,而本应为 true

php - 使用 BBCodes...解析 HTML 还是完全删除它? (XSS/PHP)