크흡… 위에 제 답변이… 내용적으로 부족하지는 않다고 생각되는데 ㅠㅠ
저 커스텀 오버레이들 분명히 스타일을 보아하니 예제에 있는 형태 그대로이고
문자열을 이어붙여서 content를 구성하셨을 것이라 예상되는데요,
일단 document.createElement로 만든 HTMLElement를 content로 넘겨주시는 방식으로 변경하셔야 합니다.
그리고 각각의 element가 기본적으로 제공하는 이벤트 리스너를 통해 이벤트들을 등록하셔야 합니다.
닫기 버튼을 document.createElement로 만들고
이를 closeBtn 이란 변수에 할당 받았다고 가정하면
closeBtn.onclick = function () { /* do something */ };
혹은
closeBtn.addEventListener('click', function () { /* do something */ });
이런식으로 모든 커스텀 오버레이의 content들 마다 이벤트를 따로 등록해 주셔야 합니다.
적어도 이 로직들만큼은 매번 html을 생성해내는 곳에 들어 있어야 하는 것이죠.
물론 현재 상태 그대로 구현할 방법이 없는건 아니지만
문자열로 content를 만들고 그 안에서 onclick으로 제어하는 닫기 버튼이 제대로 동작하도록 만드는 것은 매우 복잡하고 나중에 유지 보수도 힘들겁니다.
일단 위에 답변드린 것 처럼
이 예제를 살펴보시는 것으로 시작해 보세요.