This commit is contained in:
zh
2025-11-17 17:12:03 +08:00
parent df2c1735bc
commit 7e6b6c0fca
38 changed files with 1460 additions and 379 deletions

View File

@ -828,39 +828,83 @@
this.uid = uid
_this.box.setAttribute("color-box-id", uid)
function clickEvent(event) {
if(!document.contains(_this.box)) {
document.removeEventListener('click', clickEvent);
}
// 检查点击事件是否发生在核心元素或其子元素之外
let boxNode
function recursion(node) {
if(!node.parentNode) {
boxNode = node
}
else {
if(node.getAttribute("color-box-id") === uid) {
boxNode = node
}
else {
recursion(node.parentNode)
}
}
}
recursion(event.target)
if(!boxNode) {
if(_this.pickerFlag) {
_this.close()
}
}
else {
if (!boxNode.getAttribute || boxNode.getAttribute("color-box-id") !== uid) {
if(_this.pickerFlag) {
_this.close()
}
}
}
console.log('------------')
}
document.addEventListener('click', clickEvent);
let mousedownEln
let mouseupEln
let flag = false
function mousedownEvent(event) {
flag = false
if(!document.contains(_this.box)) {
document.removeEventListener('mousedown', mousedownEvent);
}
// 检查点击事件是否发生在核心元素或其子元素之外
let boxNode
function recursion(node) {
if(!node.parentNode) {
boxNode = node
}
else {
if(node.getAttribute("color-box-id") === uid) {
boxNode = node
}
else {
recursion(node.parentNode)
}
}
}
recursion(event.target)
if(!boxNode) {
if(_this.pickerFlag) {
flag = true
}
}
else {
if (!boxNode.getAttribute || boxNode.getAttribute("color-box-id") !== uid) {
if(_this.pickerFlag) {
flag = true
}
}
}
}
function mouseupEvent(event) {
if(!document.contains(_this.box)) {
document.removeEventListener('mouseup', mouseupEvent);
}
// 检查点击事件是否发生在核心元素或其子元素之外
let boxNode
function recursion(node) {
if(!node.parentNode) {
boxNode = node
}
else {
if(node.getAttribute("color-box-id") === uid) {
boxNode = node
}
else {
recursion(node.parentNode)
}
}
}
recursion(event.target)
if(!boxNode) {
if(_this.pickerFlag && flag) {
_this.close()
}
}
else {
if (!boxNode.getAttribute || boxNode.getAttribute("color-box-id") !== uid) {
if(_this.pickerFlag && flag) {
_this.close()
}
}
}
flag = false
}
// document.addEventListener('click', clickEvent);
document.addEventListener('mousedown', mousedownEvent);
document.addEventListener('mouseup', mouseupEvent);
return this
}
function h(e) {