我将自定义菜单项添加到了插入自定义标签的菜单按钮。例如:2019年3月16日星期六
我希望menuitem按钮在位于时间标记内时禁用,因此无法在时间标记内添加时间标记。
我无法做到。这是我的代码:
tinymce.init({
selector: 'textarea',
menubar: false,
toolbar: 'bold| menuDateButton',
setup: function (editor) {
/* Helper functions */
var toDateHtml = function (date) {
return '<time datetime="' + date.toString() + '">' + date.toDateString() + '</time>';
};
editor.ui.registry.addMenuButton('menuDateButton', {
text: 'Add Date',
fetch: function (callback) {
var items = [
{
type: 'menuitem',
text: 'Insert Date',
onAction: function (buttonApi) {
console.log('Disabled?: '+buttonApi.isDisabled());
console.log('Pre Insert');
editor.insertContent(toDateHtml(new Date()));
console.log('Post Insert');
},
onSetup: function (buttonApi) {
var editorEventCallback = function (eventApi) {
buttonApi.setDisabled(eventApi.element.nodeName.toLowerCase() === 'time');
console.log('Disabled (Nodechange)?: ' + buttonApi.isDisabled());
};
editor.on('NodeChange', editorEventCallback);
return function (buttonApi) {
editor.off('NodeChange', editorEventCallback);
}
}
}
];
callback(items);
}
});
}
});