From dba711c9ef9641e81cd3947f500262b19990c7fe 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: Wed, 6 Nov 2024 19:08:21 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9AmousedownEventPreventDefault?= =?UTF-8?q?=E9=80=89=E9=A1=B9=E9=BB=98=E8=AE=A4=E5=80=BC=E6=94=B9=E4=B8=BA?= =?UTF-8?q?false=E3=80=81=E5=AF=8C=E6=96=87=E6=9C=AC=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=96=87=E5=AD=97=E7=A6=81=E6=AD=A2=E8=A2=AB?= =?UTF-8?q?=E9=80=89=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/constants/defaultOptions.js | 5 +++-- simple-mind-map/src/plugins/RichText.js | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/simple-mind-map/src/constants/defaultOptions.js b/simple-mind-map/src/constants/defaultOptions.js index 04974fbf..91755a1e 100644 --- a/simple-mind-map/src/constants/defaultOptions.js +++ b/simple-mind-map/src/constants/defaultOptions.js @@ -249,8 +249,9 @@ export const defaultOpt = { emptyTextMeasureHeightText: 'abc123我和你', // 是否在进行节点文本编辑时实时更新节点大小和节点位置,开启后当节点数量比较多时可能会造成卡顿 openRealtimeRenderOnNodeTextEdit: false, - // 默认会给容器元素el绑定mousedown事件,并且会阻止其默认事件,这会带来一定问题,比如你聚焦在思维导图外的其他输入框,点击画布就不会触发其失焦,可以通过该选项关闭阻止。关闭后也会带来一定问题,比如鼠标框选节点时可能会选中节点文字,富文本模式下一个可选的解决方法,通过样式来禁止节点文字可选:.smm-richtext-node-wrap { user-select: none; } - mousedownEventPreventDefault: true, + // 默认会给容器元素el绑定mousedown事件,可通过该选项设置是否阻止其默认事件 + // 如果设置为true,会带来一定问题,比如你聚焦在思维导图外的其他输入框,点击画布就不会触发其失焦 + mousedownEventPreventDefault: false, // 在激活上粘贴用户剪贴板中的数据时,如果同时存在文本和图片,那么只粘贴文本,忽略图片 onlyPasteTextWhenHasImgAndText: true, // 是否允许拖拽调整节点的宽度,实际上压缩的是节点里面文本内容的宽度,当节点文本内容宽度压缩到最小时无法继续压缩。如果节点存在图片,那么最小值以图片宽度和文本内容最小宽度的最大值为准(目前该特性仅在两种情况下可用:1.开启了富文本模式,即注册了RichText插件;2.自定义节点内容) diff --git a/simple-mind-map/src/plugins/RichText.js b/simple-mind-map/src/plugins/RichText.js index fbcd68ed..5e2b6f1e 100644 --- a/simple-mind-map/src/plugins/RichText.js +++ b/simple-mind-map/src/plugins/RichText.js @@ -92,6 +92,7 @@ class RichText { ` .smm-richtext-node-wrap { word-break: break-all; + user-select: none; } .smm-richtext-node-wrap p {