我正在向我的tinyMCE添加一个自定义工具栏按钮,如下所示
tinyMCE.init({
mode: "specific_textareas",
editor_selector: "mceEditor",
width: 600,
toolbar_items_size: "small",
plugins: ["advlist autolink lists link image charmap print preview anchor","searchreplace visualblocks code fullscreen","insertdatetime media table contextmenu paste "],
toolbar: "undo redo | styleselect | bullist numlist outdent indent | link image | stats ",
setup: function (editor) {
editor.addButton('stats',{
text: 'Stats',
type: 'menubutton',
icon: false,
menu: [
{
text: 'item1',
selectable: 'false',
classes: 'noselect',
onclick: function () { editor.execCommand('mceInsertContent', false, '{rootValue}');},
menu: [
{
text: 'item1.1',
selectable: 'false',
classes: 'noselect',
onclick: function () { editor.execCommand('mceInsertContent', false, '{midValue}');},
menu: [
{
text: 'item1.1.1',
selectable: 'false',
classes: 'noselect',
onclick: function () { editor.execCommand('mceInsertContent', false, '{leafValue}');},
},
]
},
]
},
]
});}});
所以我的按钮是一个有子菜单的菜单,那些子菜单可以有子菜单等等,所以我有多个嵌套的子菜单,每个子菜单都有一个onclick函数,可以在编辑器中插入一些文本。我遇到的问题是,当我单击最里面的按钮时,它会从根目录触发树路径上的所有onclick事件。因此,如果我单击应插入{leafValue}的按钮,则会插入此
{leafValue}{midValue}{rootValue}
显然我想在这里只插入leafValue。这是一个已知的tinyMCE问题吗?任何人都知道如何解决它?
答案 0 :(得分:1)
您可以使用preventDefault()
吗?
onclick:function (evt) {
editor.execCommand('mceInsertContent', false, '{leafValue}');
evt.preventDefault();
}
MDN:http://api.jquery.com/event.preventdefault/#event-preventDefault