2401_82516555 2024-05-30 11:16 采纳率: 16.7%
浏览 87
已结题

TinyMCE如何去掉自动弹出的“链接…”工具?

TinyMCE版本5以上汉化版在编辑输入文字的时候,只要按住屏幕,就会自动弹出“链接…”工具,插入链接功能并不是高频使用率,老是自动弹出“链接…”快捷工具,很不方便。插入链接工具本来在编辑器上面工具栏就有,没必要每次编辑时候自动弹出来。
请问去掉自动弹出“链接…”快捷工具的方法。

img

  • 写回答

21条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2024-06-01 23:33
    关注

    要解决 TinyMCE 5 及以上版本中在编辑输入文字时长按屏幕自动弹出“链接”工具的问题,可以通过配置 TinyMCE 的插件和菜单选项来禁用或调整相关功能。

    以下是一些可能的解决方法:

    方法 1:禁用 Context Menu 插件

    如果不需要上下文菜单,可以完全禁用它。你可以在初始化 TinyMCE 时,移除 contextmenu 插件。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image',  // 移除 contextmenu 插件
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false,
      contextmenu: false  // 禁用上下文菜单
    });
    

    方法 2:自定义 Context Menu

    如果你希望保留上下文菜单,但去掉“链接”选项,可以自定义上下文菜单的内容。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image contextmenu',
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false,
      contextmenu: 'bold italic | alignleft aligncenter alignright alignjustify | bullist numlist',  // 自定义上下文菜单,移除 link 选项
    });
    

    方法 3:监听并禁用长按事件

    如果上述方法无法解决问题,可以通过监听和阻止长按事件来避免弹出“链接”工具。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image',
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false,
      setup: function (editor) {
        editor.on('init', function () {
          editor.getBody().addEventListener('touchstart', function (e) {
            if (e.touches.length > 1) {
              e.preventDefault();
            }
          }, { passive: false });
    
          editor.getBody().addEventListener('touchend', function (e) {
            if (e.touches.length > 1) {
              e.preventDefault();
            }
          }, { passive: false });
        });
      }
    });
    

    方法 4:禁用 QuickLink 插件

    如果问题是由 QuickLink 插件引起的,可以禁用该插件。

    tinymce.init({
      selector: 'textarea',  // 选择器
      plugins: 'lists link image',  // 移除 quicklink 插件
      toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
      menubar: false
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(20条)

报告相同问题?

问题事件

  • 系统已结题 6月12日
  • 已采纳回答 6月4日
  • 修改了问题 5月30日
  • 修改了问题 5月30日
  • 展开全部

悬赏问题

  • ¥15 关于#极限编程#的问题,请各位专家解答!
  • ¥20 win11账户锁定时间设为0无法登录
  • ¥45 C#学生成绩管理系统
  • ¥15 VB.NET2022如何生成发布成exe文件
  • ¥30 matlab appdesigner私有函数嵌套整合
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!