Как в JS сделать так чтобы события не исчезали при изменении html?
У меня есть код:
document.getElementById("btn1").addEventListener("click", (e) => {
console.log(e)
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="src/style.css">
</head>
<body>
<button class="btn" id="btn1">Click</button>
<script src="script.js"></script>
</body>
</html>
При клике на кнопку в консоль выводится:
PointerEvent
Но если после события изменить html код то оно не выполниться.
document.getElementById("btn1").addEventListener("click", (e) => {
console.log(e)
});
document.getElementsByTagName("body")[0].innerHTML += `
<h1>Hello</h1>
`;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="src/style.css">
</head>
<body>
<button class="btn" id="btn1">Click</button>
<script src="script.js"></script>
</body>
</html>
После данного изменения в JS коде при клике на кнопку событие не выполняется и в консоль ничего не выводится:
...
Подскажите как сделать так чтобы события не терялись при изменении HTML кода на JS? Заранее спасибо.