js动态添加的DIV中的onclick事件简单实例


Posted in Javascript onJuly 25, 2016

最简单的是这样:

<input type="button" onclick="alert(this.value)" value="我是 button" />

动态添加onclick事件:

<input type="button" value="我是 button" id="bu">
<script type="text/javascript">
var bObj=document.getElementById("bu");
bObj.onclick= objclick;
function objclick(){alert(this.value)};
</script>

如果使用匿名函数 function(){},则如下面所示:

<input type="button" value="我是 button" id="bu">
<script type="text/javascript">
var bObj=document.getElementById("bu");
bObj.onclick=function(){alert(this.value)};
</script>

上面的方法其实原理都一样,都是定义 onclick 属性的值。值得注意的是,如果多次定义 obj.onclick,例如:obj.onclick=method1; obj.onclick=method2; obj.onclick=method3,那么只有最后一次的定义obj.onclick=method3才生效,前两次的定义都给最后一次的覆盖掉了。

再看 IE 中的 attachEvent:

<input type="button" value="我是拉登" id="bu">
<script type="text/javascript">
var bObj = document.getElementById("bu");
bObj.attachEvent("onclick",method1);
bObj.attachEvent("onclick",method2);
bObj.attachEvent("onclick",method3);
function method1(){alert("第一个alert")}
function method2(){alert("第二个alert")}
function method3(){alert("第三个alert")}
</script>

执行顺序是 method3 > method2 > method1 ,先进后出,与堆栈中的变量相似。需要注意的是attachEvent 中第一个参数是on开头的,可以是 onclick/onmouseover/onfocus 等等

据说(未经确认验证)在 IE 中使用 attachEvent 后最好再使用 detachEvent 来释放内存

再看看 Firefox 中的的 addEventListener:

<input type="button" value="我是布什" id="bu">
<script type="text/javascript">
var bObj = document.getElementById("bu");
bObj.addEventListener("click",method1,false);
bObj.addEventListener("click",method2,false);
bObj.addEventListener("click",method3,false);
function method1(){alert("第一个alert")}
function method2(){alert("第二个alert")}
function method3(){alert("第三个alert")}
</script>

可以看到,在 ff 中的执行顺序是 method1 > method2 > method3 , 刚好与 IE 相反,先进先出。需要注意的是 addEventListener 有三个参数,第一个是不带“on”的事件名称,如 click/mouseover/focus等。

以上这篇js动态添加的DIV中的onclick事件简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ExtJS 下拉多选框lovcombo
May 19 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
Nov 24 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
JavaScript Math 对象常用方法总结
Apr 28 Javascript
JQuery 的跨域方法推荐_可跨任何网站
May 18 Javascript
jquery遍历table的tr获取td的值实现方法
May 19 Javascript
漫谈JS引擎的运行机制 你应该知道什么
Jun 15 Javascript
使用React实现轮播效果组件示例代码
Sep 05 Javascript
node+express制作爬虫教程
Nov 11 Javascript
javascript中this关键字详解
Dec 12 Javascript
js实现简单的日历显示效果函数示例
Nov 25 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
Nov 06 Javascript
js微信分享API
Oct 11 #Javascript
jQuery简单注册和禁用全局事件的方法
Jul 25 #Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
Jul 25 #Javascript
Javascript的比较汇总
Jul 25 #Javascript
[原创]jQuery常用的4种加载方式分析
Jul 25 #Javascript
JS仿百度自动下拉框模糊匹配提示
Jul 25 #Javascript
JS本地刷新返回上一页代码
Jul 25 #Javascript
You might like
PHP可变函数的使用详解
2013/06/14 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
详解php与ethereum客户端交互
2018/04/28 PHP
基于jquery的多功能软键盘插件
2012/07/25 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
python实现装饰器、描述符
2018/02/28 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
python issubclass 和 isinstance函数
2019/07/25 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
金融学专科生自我鉴定
2014/02/21 职场文书
2014年幼儿园植树节活动方案
2014/03/02 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
Go语言 详解net的tcp服务
2022/04/14 Golang