Делегирование очень даже при чем
Сначала button class="block__close" отсутствуют.
<div id="container"></div>
<script>
var cont = document.querySelector("#container");
cont.onclick = function(e) {
if(e.target.classList.contains("block__close")) { alert("block__close"); }
}
var btn = document.createElement("button");
btn.classList.add("block__close");
btn.innerText = "X";
cont.appendChild(btn);
</script>