只有一个原则,就是新生成节点与节点绑定事件必须在一个函数作用域内
<html> <head> </head> <body> <button id="info">你好</button> </body> <script> var info=document.getElementById("info"); info.addEventListener('click',function(){ //生成新节点 var body=document.getElementsByTagName("body")[0]; var button = document.createElement("button"); button.setAttribute("id", "changed");//设置Id属性 button.innerHTML="你ye好"; //新节点绑定事件 button.addEventListener('click',function(){ this.innerHTML="niyehao"; },false); //动态生成新节点 body.appendChild(button); },false); </script> </html> 当然也可以通过innerHTML的方式生成新节点。这时在innerHTML的内容里通过οnclick=“...”的方式,在生成新节点的同时绑定事件
document.getElementById('main').innerHTML="<a class='shuaxin' href='#' id='refresh' οnclick='refresh()'></a>"; //刷新当前页面 function refresh(){ if(typeof myChart!="undefined"){ myChart.showLoading(); } if(document.getElementById('main')!=null){ document.getElementById('main').innerHTML=""; } window.location.reload();//刷新当前页面. };
