implement backspace stopping
Hunter
Tuesday, July 30th, 2024 at 11:56 AM
60 checkbox.type = 'checkbox';
61 updateCheckboxState(checkbox, task.state);
62 checkbox.addEventListener('click', (e) => {
- e.preventDefault(); // Prevent default checkbox behavior
63 + e.preventDefault();
64 toggleTaskState(task);
65 });
66
67 const taskInput = document.createElement('input');
68 taskInput.type = 'text';
69 taskInput.value = task.text;
- taskInput.addEventListener('keydown', (e) => handleKeyDown(e, task));
70 +
71 + let canDelete = true;
72 +
73 + taskInput.addEventListener('keydown', (e) => {
74 + if (e.key === 'Backspace') {
75 + if (taskInput.value === '' && canDelete && task !== taskPath[0]) {
76 + e.preventDefault();
77 + deleteTask(task);
78 + } else if (taskInput.value !== '') {
79 + canDelete = false;
80 + }
81 + } else {
82 + handleKeyDown(e, task);
83 + }
84 + });
85 +
86 + taskInput.addEventListener('keyup', (e) => {
87 + if (e.key === 'Backspace') {
88 + canDelete = (taskInput.value === '');
89 + }
90 + });
91 +
92 taskInput.addEventListener('input', () => {
93 task.text = taskInput.value;
94 });