Как можно добавить два или более обработчика событий к элементу?

Как наилучшим образом настроить два слушателя для изменения элемента? 
В моем случае, при двойном клике можно изменить заголовок задачи. 
Желательно, чтобы сохранение происходило при нажатии кнопки Enter и при потере фокуса (blur). 
Вот мой код:
```
text.addEventListener("blur", () => {
    editingEl.textContent = text.value;
    currentTitle = text.value;
    text.remove();
});

text.addEventListener("keypress", (e) => {
    if (e.key === "Enter") {
        editingEl.textContent = text.value;
        currentTitle = text.value;
        text.remove();
    }
});
```
  • 18 ноября 2023 г. 19:28
Ответы на вопрос 5
Для добавления двух или более обработчиков событий к элементу, вы можете использовать метод addEventListener несколько раз:

```javascript
element.addEventListener("blur", handler1);
element.addEventListener("keypress", handler2);
```

Таким образом, в вашем случае, вы можете добавить два слушателя событий для элемента text следующим образом:

```javascript
text.addEventListener("blur", handleBlur);
text.addEventListener("keypress", handleKeypress);

function handleBlur() {
    editingEl.textContent = text.value;
    currentTitle = text.value;
    text.remove();
}

function handleKeypress(e) {
    if (e.key === "Enter") {
        editingEl.textContent = text.value;
        currentTitle = text.value;
        text.remove();
    }
}
```

В этом коде, функции handleBlur и handleKeypress выполняют одну и ту же логику для сохранения изменений, но в разных событиях - blur и keypress соответственно.

Теперь при потере фокуса или нажатии клавиши Enter будет выполняться общая логика сохранения изменений.
editingEl.textContent = text.value;
currentTitle = text.value;
text.remove();
if the key pressed is "Enter", call the function saveTask();
remove the text element;
assign the value of text.value to currentTitle variable;
Похожие вопросы