refactor: 统一桌面和移动端点击编辑逻辑
This commit is contained in:
24
js/script.js
24
js/script.js
@@ -1042,7 +1042,7 @@
|
||||
setTimeout(() => { element.dataset.justEdited = 'false'; }, 200);
|
||||
});
|
||||
|
||||
// 单击选中并进入编辑模式(移动端友好)
|
||||
// 单击进入编辑模式(同时支持桌面和移动端)
|
||||
element.addEventListener('click', (e) => {
|
||||
if (hasMoved) return;
|
||||
if (element.dataset.justEdited === 'true') return;
|
||||
@@ -1054,28 +1054,6 @@
|
||||
selectInput(element);
|
||||
startEdit(element);
|
||||
});
|
||||
|
||||
// 移动端:触摸结束后进入编辑(更灵敏)
|
||||
let lastTapTime = 0;
|
||||
element.addEventListener('touchend', (e) => {
|
||||
// 如果正在拖拽,不触发编辑
|
||||
if (isDragging) return;
|
||||
|
||||
const currentTime = Date.now();
|
||||
// 双击检测(300ms内两次点击)
|
||||
if (currentTime - lastTapTime < 300) {
|
||||
// 双击已在 click 事件中处理,这里不重复
|
||||
} else {
|
||||
// 单击延迟处理,避免与拖拽冲突
|
||||
setTimeout(() => {
|
||||
if (!isDragging && editingInput !== element) {
|
||||
selectInput(element);
|
||||
startEdit(element);
|
||||
}
|
||||
}, 50);
|
||||
}
|
||||
lastTapTime = currentTime;
|
||||
});
|
||||
}
|
||||
|
||||
// 选中输入框
|
||||
|
||||
Reference in New Issue
Block a user