Создать сообщение - работает. Удалить сообщение - не работает. Оно должно удалять только что созданное через "Создать сообщение" событие.
document.getElementsByTagName('span')[0].addEventListener('click', message);
function message(){
let message = document.createElement('textarea');
document.body.appendChild(message);
}
document.getElementsByTagName('span')[1].removeEventListener('click', message);
span {
cursor: pointer;
margin: 10px;
}
span img {
width: 16px;
height: 16px;
margin-right: 5px;
}
textarea {
display: block;
margin: 30px 0 0 0;
}
<span>+ Создать сообщение </span>
<span>- Удалить сообщение </span>
<span>✎ Редактировать сообщение </span>
<span><img src="https://cdn3.iconfinder.com/data/icons/text-icons-1/512/BT_save-512.png" alt="">Сохранить сообщение </span>
Удаление EventListener после его вызова. Оно должно удалять только что созданное через "Создать сообщение" событие.
Вот так.
Если правильно понял, что вы пытаетесь удалить.
//----------------------------------------------------------------
// Можно так
document.querySelector('.add').addEventListener('click', message);
function message() {
let message = document.createElement('textarea');
document.body.appendChild(message);
}
// Можно так
document.querySelector('.del').removeEventListener('click', message);
//----------------------------------------------------------------
// Кнопка удалить
var del = document.querySelector(".del");
// Вешаем событие
del.addEventListener("click", function() {
// Все созданные textarea
var textA = document.querySelectorAll('textarea');
if (textA.length > 0) { // Если есть, что удалять
// Удалить последнее созданное поле
document.body.removeChild(textA[textA.length - 1]);
}
})
span {
cursor: pointer;
margin: 10px;
}
span img {
width: 16px;
height: 16px;
margin-right: 5px;
}
textarea {
display: block;
margin: 30px 0 0 0;
}
<!-------- Лучше так, класс каждому елементу, так читабельней -------->
<span class="add">+ Создать сообщение </span>
<span class="del">- Удалить сообщение </span>
<span class="edit">✎ Редактировать сообщение </span>
<span class="save"><img src="https://cdn3.iconfinder.com/data/icons/text-icons-1/512/BT_save-512.png" alt="">Сохранить сообщение </span>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости