From 624203ea8442a55a15fa7acf51a66d7c72d88fb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com> Date: Tue, 25 Jun 2024 15:53:06 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9A=E7=82=B9=E5=87=BB=E8=B6=85?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E5=9B=BE=E6=A0=87=E6=97=B6=E6=BF=80=E6=B4=BB?= =?UTF-8?q?=E8=8A=82=E7=82=B9=EF=BC=9B=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E8=B6=85=E9=93=BE=E6=8E=A5=E8=B7=B3=E8=BD=AC=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E5=8C=96=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/constants/defaultOptions.js | 3 +++ simple-mind-map/src/core/render/node/nodeCreateContents.js | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/simple-mind-map/src/constants/defaultOptions.js b/simple-mind-map/src/constants/defaultOptions.js index 67eab51d..594b751f 100644 --- a/simple-mind-map/src/constants/defaultOptions.js +++ b/simple-mind-map/src/constants/defaultOptions.js @@ -223,6 +223,9 @@ export const defaultOpt = { createNodePostfixContent: null, // 禁止粘贴用户剪贴板中的数据,禁止将复制的数据写入用户的剪贴板中 disabledClipboard: false, + // 自定义超链接的跳转 + // 如果不传,默认会以新窗口的方式打开超链接,可以传递一个函数,函数接收两个参数:link(超链接的url)、node(所属节点实例),只要传递了函数,就会阻止默认的跳转 + customHyperlinkJump: null, // 【Select插件】 // 多选节点时鼠标移动到边缘时的画布移动偏移量 diff --git a/simple-mind-map/src/core/render/node/nodeCreateContents.js b/simple-mind-map/src/core/render/node/nodeCreateContents.js index ae6138e0..343e5181 100644 --- a/simple-mind-map/src/core/render/node/nodeCreateContents.js +++ b/simple-mind-map/src/core/render/node/nodeCreateContents.js @@ -254,12 +254,16 @@ function createHyperlinkNode() { if (!hyperlink) { return } + const { customHyperlinkJump } = this.mindMap.opt let iconSize = this.mindMap.themeConfig.iconSize let node = new SVG().size(iconSize, iconSize) // 超链接节点 let a = new A().to(hyperlink).target('_blank') a.node.addEventListener('click', e => { - e.stopPropagation() + if (typeof customHyperlinkJump === 'function') { + e.preventDefault() + customHyperlinkJump(hyperlink, this) + } }) if (hyperlinkTitle) { node.add(SVG(`