【问题标题】:TinyMCE: inserting simple snippets of text via dropdown?TinyMCE:通过下拉插入简单的文本片段?
【发布时间】:2018-04-30 11:56:06
【问题描述】:

在 TinyMCE 4 中,我希望创建一个下拉菜单(无论是作为工具栏按钮还是在菜单中),其中包含应插入到光标位置的值列表,只需在下拉列表中选择它们即可。

我尝试过使用模板插件,哪种可以,但它太重且太复杂,无法满足我的需要(它不会创建下拉菜单,而是会打开一个弹出窗口,让您预览你的模板,我真的不需要所有这些)。

有没有更简单的方法来做到这一点?我不需要文本替换、类或日期插入、在弹出窗口中预览或任何高级的东西。只需在光标位置插入一个静态文本值。

【问题讨论】:

    标签: tinymce tinymce-4


    【解决方案1】:

    这是一个 TinyMCE Fiddle,它展示了如何做你想做的事:

    http://fiddle.tinymce.com/orgaab/1

    关键代码是这样的:

    setup: function (editor) {
      editor.addButton('custombutton', {
        type: 'listbox',
        text: 'Custom Listbox',
        icon: false,
        onselect: function (e) {
          editor.insertContent(this.value());
        },
        values: [
          { text: 'Bold Text', value: '&nbsp;<strong>Some bold text!</strong>' },
          { text: 'Italic Text', value: '&nbsp;<em>Some italic text!</em>' },
          { text: 'Regular Text', value: '&nbsp;Some plain text ...' }
        ]
      });
    }
    

    如果您想向菜单添加内容(根据您的后续评论),您可以这样做:

    http://fiddle.tinymce.com/orgaab/4

    本次更新的关键代码是:

    editor.addMenuItem('custommenuoptions', {
        separator: 'before',
        text: 'Custom Menu Options',
        context: 'insert',
        prependToContext: true,
        menu: [
          { text: 'Bold Text', onclick: function() {editor.insertContent('&nbsp;<strong>Some bold text!</strong>')} },
          { text: 'Italic Text', onclick: function() {editor.insertContent('&nbsp;<em>Some italic text!</em>')} },
          { text: 'Regular Text', disabled: true, onclick: function() {editor.insertContent('&nbsp;Some plain text ...')} }
        ]
    });  
    

    【讨论】:

    • 太棒了,非常感谢!如果您不介意,还有一个问题:例如,我怎样才能在菜单栏中获得与“插入”菜单的子菜单相同的下拉菜单? (为了有类似“插入>自定义列表框> [粗体文本|斜体文本|常规文本]”。)
    • 完美。再次感谢。 :)
    • 仅供参考,在您的第一个 sn-p(下拉按钮)上,我注意到当您插入一个值时,按钮的文本(当它关闭时)仍然“卡住”显示该值(例如“粗体文本”),即使您单击编辑器中的其他位置,这有点令人困惑。我通过在onselect 方法的末尾添加this.value(''); 解决了这个问题(在editor.insertContent(this.value()); 之后),所以基本上按钮本身的文本永远不会改变。
    猜你喜欢
    • 1970-01-01
    • 2012-12-15
    • 2021-03-29
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    相关资源
    最近更新 更多