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 相关文章推荐
JavaScript 继承详解(一)
Jul 13 Javascript
打印json对象的内容及JSON.stringify函数应用
Mar 29 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
Dec 04 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
AngularJS中比较两个数组是否相同
Aug 24 Javascript
js 获取图像缩放后的实际宽高,位置等信息
Mar 07 Javascript
vuejs如何配置less
Apr 25 Javascript
BetterScroll 在移动端滚动场景的应用
Sep 18 Javascript
vue-cli脚手架的安装教程图解
Sep 02 Javascript
express中static中间件的具体使用方法
Oct 17 Javascript
Vue的Options用法说明
Aug 14 Javascript
Vue操作Storage本地化存储
Apr 29 Vue.js
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模板函数 正则实现代码
2012/10/15 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Python中使用HTMLParser解析html实例
2015/02/08 Python
python中的json总结
2018/10/11 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
python爬虫 正则表达式解析
2019/09/28 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
python3爬取torrent种子链接实例
2020/01/16 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
零件设计自荐信范文
2013/11/27 职场文书
高三语文教学反思
2014/01/15 职场文书
设计师个人求职信范文
2014/02/02 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
入股协议书范本
2014/04/14 职场文书
销售工作决心书
2015/02/04 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏