如何解决将所选内容复制到对话框TinyMCE插件的输入文本框中
return editor.windowManager.open({
title: 'Example plugin',body: {
type: 'panel',items: [
{
type: 'input',name: 'title',label: 'Title'
}
]
},buttons: [
{
type: 'cancel',text: 'Close'
},{
type: 'submit',text: 'Save',primary: true
}
],onSubmit: function (api) {
var data = api.getData();
// Insert content when the window form is submitted
editor.insertContent('Title: ' + data.title);
api.close();
}
});
};
现在,我想获取选定的内容(editor.selection.getContent())并将其加载到输入字段名称“ title”。我该怎么办?
解决方法
editor.windowManager.open()
的返回值是一个 Dialog Instance API,它有一个 setData
方法。
tinymce.init({
selector: '#textarea',setup: function(editor) {
editor.ui.registry.addButton('example_button',{
icon: 'embed-page',onAction: function() {
var api=editor.windowManager.open(dialogConfig);
var data=api.getData();
var selectedNode = tinymce.activeEditor.selection.getNode();
// do it here
data.title=selectedNode.innerHTML();
api.setData(data);
}
}
}
})
代码获取点击工具栏按钮打开的对话框的API,并使用setData
保存对话框实例中的数据结构(见initialData
、getData()
、{{1 }} 在对话框 UI 文档 https://www.tiny.cloud/docs/ui-components/dialog/#dialogdataandstate 中)。这是表单和所选对象之间的连接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。