微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将所选内容复制到对话框TinyMCE插件的输入文本框中

如何解决将所选内容复制到对话框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保存对话框实例中的数据结构(见initialDatagetData()、{{1 }} 在对话框 UI 文档 https://www.tiny.cloud/docs/ui-components/dialog/#dialogdataandstate 中)。这是表单和所选对象之间的连接。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。