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


Posted in Javascript onMay 19, 2013

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

<body><div id='d1'>点击</div></body>

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)} 
}

这也是折中的方法,肯定会影响效率的。
Javascript 相关文章推荐
分页栏的web标准实现
Nov 01 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
javascript四舍五入函数代码分享(保留后几位)
Dec 10 Javascript
jQuery实现当按下回车键时绑定点击事件
Jan 28 Javascript
js定时器(执行一次、重复执行)
Mar 07 Javascript
javascript匿名函数应用示例介绍
Mar 07 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 Javascript
将页面table内容与样式另存成excel文件的方法
Aug 05 Javascript
实例代码详解jquery.slides.js
Nov 16 Javascript
JS实现颜色动态淡化效果
Mar 06 Javascript
JS数组去重(4种方法)
Mar 27 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 #Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
May 19 #Javascript
js函数中onmousedown和onclick的区别和联系探讨
May 19 #Javascript
下拉菜单点击实现连接跳转功能的js代码
May 19 #Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 #Javascript
固定背景实现的背景滚动特效示例分享
May 19 #Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
May 19 #Javascript
You might like
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
PHP进程同步代码实例
2015/02/12 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
Js sort排序使用方法
2011/10/17 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
vue-router history模式下的微信分享小结
2018/07/05 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
python实现指定ip端口扫描方式
2019/12/17 Python
python中如何使用insert函数
2020/01/09 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
个人对照检查材料
2014/02/12 职场文书
工程管理英文求职信
2014/03/18 职场文书
社区先进事迹材料
2014/05/19 职场文书
综合素质自我评价评语
2015/03/06 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书