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 相关文章推荐
jquery 查找iframe父级页面元素的实现代码
Aug 28 Javascript
javascript 函数声明与函数表达式的区别介绍
Oct 05 Javascript
js 获取浏览器版本以此来调整CSS的样式
Jun 03 Javascript
推荐JavaScript实现继承的最佳方式
Nov 11 Javascript
jQuery中:radio选择器用法实例
Jan 03 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
jQuery简单入门示例之用户校验demo示例
Jul 09 Javascript
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
利用jsonp与代理服务器方案解决跨域问题
Sep 14 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
Mar 01 Javascript
vue中轮训器的使用
Jan 27 Javascript
layui实现数据分页功能
Jul 27 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
关于php连接mssql:pdo odbc sql server
2011/07/20 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
PHP _construct()函数讲解
2019/02/03 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
Python splitlines使用技巧
2008/09/06 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
如何利用Python识别图片中的文字
2020/05/31 Python
Python绘制组合图的示例
2020/09/18 Python
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
方正Java笔试题
2014/07/03 面试题
大学生找工作推荐信范文
2013/11/28 职场文书
小学生成长感言
2014/01/30 职场文书
火车来了教学反思
2014/02/11 职场文书
书法大赛策划方案
2014/06/04 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
律政俏佳人观后感
2015/06/09 职场文书
情人节单身感言
2015/08/03 职场文书
教师读书活动心得体会
2016/01/14 职场文书
Win11查看设备管理器
2022/04/19 数码科技