13
เป็นไปได้ไหมที่จะต่อท้าย innerHTML โดยไม่ทำลายผู้ฟังเหตุการณ์ของลูกหลาน?
ในโค้ดตัวอย่างต่อไปนี้ฉันแนบonclickตัวจัดการเหตุการณ์เข้ากับช่วงที่มีข้อความ "foo" alert()จัดการเป็นฟังก์ชั่นที่ไม่ระบุชื่อที่ปรากฏขึ้น อย่างไรก็ตามหากฉันกำหนดให้กับโหนดหลักตัวจัดการเหตุการณ์innerHTMLนี้onclickจะถูกทำลาย - การคลิก "foo" จะไม่ปรากฏขึ้นในกล่องการแจ้งเตือน สามารถแก้ไขได้หรือไม่? <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>