TinyMCE:通过下拉菜单插入简单的文本片段?
在TinyMCE 4中,我希望创建一个下拉菜单,无论是作为工具栏按钮还是包含值列表的菜单,只要在下拉菜单中选择这些值,就可以将这些值插入光标位置 我尝试过使用模板插件,这类插件可以工作,但它太重和复杂,无法用于我需要的内容。它不会创建下拉列表,而是打开一个弹出窗口,让您预览模板,我真的不需要所有这些TinyMCE:通过下拉菜单插入简单的文本片段?,tinymce,tinymce-4,Tinymce,Tinymce 4,在TinyMCE 4中,我希望创建一个下拉菜单,无论是作为工具栏按钮还是包含值列表的菜单,只要在下拉菜单中选择这些值,就可以将这些值插入光标位置 我尝试过使用模板插件,这类插件可以工作,但它太重和复杂,无法用于我需要的内容。它不会创建下拉列表,而是打开一个弹出窗口,让您预览模板,我真的不需要所有这些 有没有更简单的方法?我不需要文本替换,类或日期插入,在弹出窗口预览,或任何先进的东西。只需在光标位置插入一个静态文本值。这里有一个小提琴,显示hw可以执行您想要的操作: 关键代码如下: setup:
有没有更简单的方法?我不需要文本替换,类或日期插入,在弹出窗口预览,或任何先进的东西。只需在光标位置插入一个静态文本值。这里有一个小提琴,显示hw可以执行您想要的操作: 关键代码如下:
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: ' <strong>Some bold text!</strong>' },
{ text: 'Italic Text', value: ' <em>Some italic text!</em>' },
{ text: 'Regular Text', value: ' Some plain text ...' }
]
});
}
如果您想根据后续评论向菜单中添加内容,可以执行以下操作:
此更新中的关键代码是:
editor.addMenuItem('custommenuoptions', {
separator: 'before',
text: 'Custom Menu Options',
context: 'insert',
prependToContext: true,
menu: [
{ text: 'Bold Text', onclick: function() {editor.insertContent(' <strong>Some bold text!</strong>')} },
{ text: 'Italic Text', onclick: function() {editor.insertContent(' <em>Some italic text!</em>')} },
{ text: 'Regular Text', disabled: true, onclick: function() {editor.insertContent(' Some plain text ...')} }
]
});
太棒了,非常感谢!如果您不介意的话,还有一个问题:如何在菜单栏中获得与插入菜单的子菜单相同的下拉列表?为了实现插入>自定义列表框>[粗体文本|斜体文本|常规文本]之类的功能,完美。再次感谢仅供参考,在您的第一个“代码段”下拉按钮上,我注意到,当您插入一个值时,按钮关闭时的文本仍然会显示该值,例如,即使您在编辑器中的其他位置单击粗体文本,这有点混乱。我通过添加这个值来解决这个问题;在editor.insertContentthis.value;之后的onselect方法末尾;,这样按钮上的文字基本上不会改变。