Не должно течь. Единственный браузер, который печально известен как утечка, как ад, когда обработчик событий вызывает цикл JS-объекта host-object <>, это IE (до версии 7), а IE (до версии 8) не поддерживает addEventListener
.
Оставьте это включенным и посмотрите, как в долгосрочной перспективе будет зависеть использование памяти браузером, если вы хотите протестировать его в определенном браузере.
<div id="x"></div>
<script type="text/javascript">
function replace() {
var x= document.getElementById('x');
if (x.firstChild!==null)
x.removeChild(x.firstChild);
var el= document.createElement('p');
el.addEventListener('click', click, false);
x.appendChild(el);
}
function click() {
alert('click');
};
setInterval(replace, 1);
</script>
(Для того, чтобы проверить его с опорным контуром настоящего времени, переместить function click
определение вверх в replace
тело.)