我有一个简单的代码:
document.getElementById("number").addEventListener('click', test);
var i = 1;
function test(event) {
    document.getElementById("number").outerHTML = '<span id="number">' + (i++) + '</span>';
}<span id="number">0</span>
但这只适用于第一次点击。下一个eventListener不起作用。怎样才能让它发挥作用呢?
发布于 2017-09-15 12:13:22
您正在重写单击内的元素"number“的html,从而再次删除侦听器:下面的内容应该有效:
  <script>
        document.getElementById("number").addEventListener('click', test);
        var i = 1;
        function test(event) {
            document.getElementById("number").outerHTML = '<span id="number">' + (i++) + '</span>';
            document.getElementById("number").addEventListener('click', test);
        }
    </script>https://stackoverflow.com/questions/46239238
复制相似问题