commit d432c692e4ce57f6b43e69cada8ac35bce550ebd
parent 55bfa810d6ccde682f2aadb7d7b0594f61325e50
Author: Hunter
Date: Tue, 30 Jul 2024 11:56:41 -0400
implement backspace stopping
Diffstat:
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/todo.html b/todo.html
@@ -60,14 +60,35 @@
checkbox.type = 'checkbox';
updateCheckboxState(checkbox, task.state);
checkbox.addEventListener('click', (e) => {
- e.preventDefault(); // Prevent default checkbox behavior
+ e.preventDefault();
toggleTaskState(task);
});
const taskInput = document.createElement('input');
taskInput.type = 'text';
taskInput.value = task.text;
- taskInput.addEventListener('keydown', (e) => handleKeyDown(e, task));
+
+ let canDelete = true;
+
+ taskInput.addEventListener('keydown', (e) => {
+ if (e.key === 'Backspace') {
+ if (taskInput.value === '' && canDelete && task !== taskPath[0]) {
+ e.preventDefault();
+ deleteTask(task);
+ } else if (taskInput.value !== '') {
+ canDelete = false;
+ }
+ } else {
+ handleKeyDown(e, task);
+ }
+ });
+
+ taskInput.addEventListener('keyup', (e) => {
+ if (e.key === 'Backspace') {
+ canDelete = (taskInput.value === '');
+ }
+ });
+
taskInput.addEventListener('input', () => {
task.text = taskInput.value;
});