Ruslan_xDD,
var modal = new Modal();
modal.element.addEventListener('show', function() {
alert('Hello world!');
});
modal.show();
Почему нельзя сделать:
var modal = new Modal();
modal.show();
modal.element.addEventListener('show', function() {
alert('Hello world!');
});
А так проще калбэк воткнуть. Видимо, я чего-то не понимаю в событийной модели JS. Ведь логически, подписаться на событие можно где угодно, а не перед его срабатыванием.
С предложенной вами реализацией нельзя навесить разные слушатели на разные элементы. Именно из-за этого я создаю элементы не в классе, а в функции. Т.к. получаются разные экземпляры. Осталось понять как нормально навесить события. Вот в Bootstrap, например, реализовано событие во время появления окна. Но сам бутстрап мне не подходит.