Created
March 12, 2017 10:14
-
-
Save Dosant/2d0b7a9e434f6f0f6569757159a9a6f3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Пример без делегирования */ | |
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