feat: 新增文本框删除按钮功能
This commit is contained in:
32
js/script.js
32
js/script.js
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user