本文介绍: 拖动一个节点的时候,一切正常(无论哪个节点作为第一个节点,都是正常的,但是拖动第二个节点的时候,节点面板出现重影一样的效果如图)CSS的pointer-events属性用于指定什么情况下元素可以成为鼠标事件target。此时选中的节点会一直跟随鼠标移动,不落在画布上,需要单击鼠标左键才可以落下,落下后,控制台会报错如下。给盒子里的icon文字都加上 userselect: none;会让一个元素忽略鼠标操作

背景
插件logicFlow
用途:画流程图
bug表现:

初始化的样子:
在这里插入图片描述
bug的样子:
拖动第一个节点的时候,一切正常(无论哪个节点作为第一个节点,都是正常的,但是拖动第二个节点的时候,节点面板出现重影一样的效果如图
在这里插入图片描述
此时选中的节点会一直跟随鼠标移动,不落在画布上,需要单击鼠标左键才可以落下,落下后,控制台会报错如下
在这里插入图片描述
解决办法
盒子里的icon文字都加上 userselect: none; 让它们无法被选择

css大概如下:
.node-item {
  pointer-events: auto;
 }
.node-item-icon {
   pointer-events: none;
   user-select: none;
}
.node-label {
   user-select: none;
   pointer-events: none;
}

关于 pointer-events:
CSS的pointer-events属性用于指定什么情况下元素可以成为鼠标事件的target。它常用的关键字有auto和none
pointer-events: auto; 是默认值,鼠标不会穿透当前层。
pointer-events: none; 会让一个元素忽略鼠标操作

在这里插入图片描述

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注