只有一个原则,就是新生成节点与节点绑定事件必须在一个函数作用域内
<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();//刷新当前页面.
};