Skip to content

Instantly share code, notes, and snippets.

@Dosant
Created March 12, 2017 10:14
Show Gist options
  • Save Dosant/2d0b7a9e434f6f0f6569757159a9a6f3 to your computer and use it in GitHub Desktop.
Save Dosant/2d0b7a9e434f6f0f6569757159a9a6f3 to your computer and use it in GitHub Desktop.
<div class="article-list">
<article>Статья №1 <button>x</button></article>
<article>Статья №2 <button>x</button></article>
<article>Статья №3 <button>x</button></article>
<article>Статья №4 <button>x</button></article>
<article>Статья №5 <button>x</button></article>
</div>
/* Пример без делегирования */
var articleListNode = document.querySelector('.article-list');
/* 1. Находим все кнопки для удаления статей */
var deleteButtons = document.querySelectorAll('article>button');
/* 2. Добавляем обработчик */
[].forEach.call(deleteButtons, function(btn) {
btn.addEventListener('click', handleDeleteBtnClick);
});
function handleDeleteBtnClick(event) {
/* event.target это кнопка, а нам нужен <article> */
var articleNodeToDelete = event.target.parentElement;
/* удалим обработчик события с удаляемой кнопки! */
event.target.removeEventListener('click', handleDeleteBtnClick);
/* удалим <article> из DOM */
articleListNode.removeChild(articleNodeToDelete);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment