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 相关文章推荐
手把手教你自己写一个js表单验证框架的方法
Sep 14 Javascript
js日历功能对象
Jan 12 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
node.js中的fs.chownSync方法使用说明
Dec 16 Javascript
浅谈JavaScript超时调用和间歇调用
Aug 30 Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
用Object.prototype.toString.call(obj)检测对象类型原因分析
Oct 11 Javascript
微信小程序生成二维码的示例代码
Mar 29 Javascript
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
基于vue-cli3创建libs库的实现方法
Dec 04 Javascript
详解Vue之事件处理
Jul 10 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
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
Javascript 学习书 推荐
2009/06/13 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
Vue精简版风格概述
2018/01/30 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
Python中tell()方法的使用详解
2015/05/24 Python
Python进程间通信用法实例
2015/06/04 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
销售冠军获奖感言
2014/02/03 职场文书
农林环境专业求职信
2014/03/13 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
卡特教练观后感
2015/06/08 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android