最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于innerHTML后丢失动态绑定的EVENT问题解决方法_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:09:38
文档

关于innerHTML后丢失动态绑定的EVENT问题解决方法_javascript技巧

关于innerHTML后丢失动态绑定的EVENT问题解决方法_javascript技巧:用innerHTML取出一段内容后再innerHTML回去,那么原来动态绑定的事件就会丢失,如: html: 代码如下: 点击 script: 代码如下: document.getElementById('d1').onclick=function(){alert(1)}; var html=document.bo
推荐度:
导读关于innerHTML后丢失动态绑定的EVENT问题解决方法_javascript技巧:用innerHTML取出一段内容后再innerHTML回去,那么原来动态绑定的事件就会丢失,如: html: 代码如下: 点击 script: 代码如下: document.getElementById('d1').onclick=function(){alert(1)}; var html=document.bo


用innerHTML取出一段内容后再innerHTML回去,那么原来动态绑定的事件就会丢失,如:
html:
代码如下:
点击

script:
代码如下:
document.getElementById('d1').onclick=function(){alert(1)};
var html=document.body.innerHTML;
document.body.innerHTML=html;

这段代码执行后点击d1是没有任何反应的。
解决方法:
把onclick绑定到父元素,利用冒泡原理,判断当前元素是否为d1,若为d1则执行
代码如下:
document.body.onclick=function(e){
var e=e||event;
var current=e.target||e.srcElement
if(current.id=='d1'){alert(1)}
}

这也是折中的方法,肯定会影响效率的。

文档

关于innerHTML后丢失动态绑定的EVENT问题解决方法_javascript技巧

关于innerHTML后丢失动态绑定的EVENT问题解决方法_javascript技巧:用innerHTML取出一段内容后再innerHTML回去,那么原来动态绑定的事件就会丢失,如: html: 代码如下: 点击 script: 代码如下: document.getElementById('d1').onclick=function(){alert(1)}; var html=document.bo
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top