possível anexar ao innerHTML sem destruir os ouvintes de eventos dos descendente

No exemplo de código a seguir, eu anexo umonclick manipulador de eventos no período que contém o texto "foo". O manipulador é uma função anônima que exibe um alerta ().

No entanto, se eu atribuir ao @ do nó pinnerHTML, istoonclick o manipulador de eventos é destruído - clicar em "foo" não abre a caixa de alert

Isso é corrigível?

<html>
 <head>
 <script type="text/javascript">

  function start () {
    myspan = document.getElementById("myspan");
    myspan.onclick = function() { alert ("hi"); };

    mydiv = document.getElementById("mydiv");
    mydiv.innerHTML += "bar";
  }

 </script>
 </head>

 <body onload="start()">
   <div id="mydiv" style="border: solid red 2px">
     <span id="myspan">foo</span>
   </div>
 </body>

</html>

questionAnswers(11)

yourAnswerToTheQuestion