feat: 新增文本框删除按钮功能

This commit is contained in:
Zhukj
2026-04-18 10:48:23 +08:00
parent 42b82d2a13
commit cb6b88d455
3 changed files with 58 additions and 3 deletions

View File

@@ -86,6 +86,18 @@
initInput(input1);
initInput(input2);
// 为原有两个输入框添加删除按钮
[input1, input2].forEach(inputEl => {
const deleteBtn = document.createElement('button');
deleteBtn.className = 'text-delete-btn';
deleteBtn.innerHTML = '×';
deleteBtn.addEventListener('click', (e) => {
e.stopPropagation();
inputEl.remove();
});
inputEl.appendChild(deleteBtn);
});
// 初始化图片滑动
initImageDrag();
@@ -201,6 +213,16 @@
textEl.style.left = (left / containerWidth * 100) + '%';
textEl.style.top = (top / containerHeight * 100) + '%';
// 删除按钮
const deleteBtn = document.createElement('button');
deleteBtn.className = 'text-delete-btn';
deleteBtn.innerHTML = '×';
deleteBtn.addEventListener('click', (e) => {
e.stopPropagation();
textEl.remove();
});
textEl.appendChild(deleteBtn);
const inputLayer = container.querySelector('.preview-input-layer');
inputLayer.appendChild(textEl);
@@ -773,6 +795,15 @@
element.addEventListener('dblclick', (e) => {
e.stopPropagation();
startEdit(element);
element.dataset.justEdited = 'true';
setTimeout(() => { element.dataset.justEdited = 'false'; }, 200);
});
// 单击选中显示删除按钮
element.addEventListener('click', (e) => {
if (hasMoved) return;
if (element.dataset.justEdited === 'true') return;
element.classList.add('selected');
});
// 触摸双击检测(移动端双击进入编辑)
@@ -853,6 +884,7 @@
// 结束编辑
function endEdit(element) {
element.classList.remove('editing');
element.classList.add('selected');
element.contentEditable = 'false';
element.blur();
editingInput = null;