gpt4 book ai didi

tinymce - 在“插入/编辑链接”对话框中插入自定义按钮?

转载 作者:行者123 更新时间:2023-12-01 03:07:44 25 4
gpt4 key购买 nike

我想在 tinymce v5 的插入/编辑链接对话框/弹出窗口中添加一个自定义按钮。

我只得到了这个用于调用函数的设置选项的代码。

function tinyMceEditLink(editor) {
console.log("tinyMceEditLink");

editor.on("click", function(e) {
console.log("this click");
});
}

最佳答案

我会第一个承认这有点 hacky,但你可以尝试:

function tinyMceEditLink(editor) {
editor.windowManager.oldOpen = editor.windowManager.open; // save for later
editor.windowManager.open = function (t, r) { // replace with our own function
var modal = this.oldOpen.apply(this, [t, r]); // call original

if (t.title === "Insert/Edit Link") {
$('.tox-dialog__footer-end').append(
'<button title="Custom button" type="button" data-alloy-tabstop="true" tabindex="-1" class="tox-button" id="custom_button">Custom button</button>'
);

$('#custom_button').on('click', function () {
//Replace this with your custom function
console.log('Running custom function')
});
}

return modal; // Template plugin is dependent on this return value
};
}


这将为您提供以下结果:

enter image description here

设置:

tinymce.init({
selector: "#mytextarea", // change this value according to your HTML
plugins: "link",
menubar: "insert",
toolbar: "link",
setup: function(editor) {
// Register our custom button callback function
editor.on('init',function(e) {
tinyMceEditLink(editor);
});

// Register some other event callbacks...
editor.on('click', function (e) {
console.log('Editor was clicked');
});

editor.on('keyup', function (e) {
console.log('Someone typed something');
});

}
});


温馨提示:
  • 您可以更换 $('.tox-dialog__footer-end')...$('.tox-dialog__footer-start')...如果您希望您的按钮位于页脚的左侧。
  • 这当前适用于默认皮肤,更改为 .tox-dialog__footer类可以打破这一点。
  • 任何更改标题“插入/编辑链接”的库更新都会破坏这一点。
  • 上面的例子需要 jQuery 才能工作。
  • 这是一个最低限度的例子。使用配置指南自定义工具栏、设置事件等。
  • 关于tinymce - 在“插入/编辑链接”对话框中插入自定义按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55115042/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com