用innerHTML取出一段内容后再innerHTML回去那么原来动态绑定的事件就会丢失如:
html:
代码如下:
<body><div id=
d
>点击</div></body>
script:
代码如下:
document
getElementById(
d
)
onclick=function(){alert(
)};
var html=document
body
innerHTML;
document
body
innerHTML=html;
这段代码执行后点击d是没有任何反应的
解决方法
把onclick绑定到父元素利用冒泡原理判断当前元素是否为d若为d则执行
代码如下:
document
body
onclick=function(e){
var e=e||event;
var current=e
target||e
srcElement
if(current
id==
d
){alert(
)}
}
这也是折中的方法肯定会影响效率的