addEventListener和onclick的区别
2024-10-08 18:55:15
onclick只出现一次alert:我是click2【很正常第一次click事件会被第二次所覆盖】,但是addEventListener却可以先后运行,不会被覆盖【正如:它允许给一个事件注册多个监听器。在使用DHTML库或者 Mozilla extensions 这样需要保证能够和其他的库或者差距并存的时候非常有用。】
<ul id="color-list">
<li id="addEvent">red</li>
<li id="on_click">yellow</li>
</ul>
<script type="text/javascript">
(function(){
var addEvent = document.getElementById("addEvent");
addEvent.addEventListener("click",function(){
alert("我是addEvent1");
},false);
addEvent.addEventListener("click",function(){
alert("我是addEvent2");
},false); var addEvent = document.getElementById("on_click"); on_click.onclick = function() {
alert("我是click1");
}
on_click.onclick = function() {
alert("我是click2");
}
})();
</script>
在 冒泡 中,内部元素的事件会先被触发,然后再触发外部元素,即:
元素的点击事件先触发,然后会触发
元素的点击事件。
在 捕获 中,外部元素的事件会先被触发,然后才会触发内部元素的事件,即:
元素的点击事件先触发 ,然后再触发元素的点击事件。
addEventListener() 方法可以指定 “useCapture” 参数来设置传递类型:
addEventListener(event, function, useCapture);
默认值为 false, 即冒泡传递,当值为 true 时, 事件使用捕获传递。
最新文章
- selenium webdriver 右键另存为下载文件(结合robot and autoIt)
- iOS_MJRefrash的详解以及使用
- 规范和封装jdbc程序代码
- Java 中 ThreadLocal 内存泄露的实例分析
- win7 中maven安装
- concat,reverse
- C#之猴子吃桃儿问题的解法——猴子吐桃儿
- OpenGL的几何变换4之内观察全景图
- C#操作txt问件,进行清空添加操作
- Android中为窗口定义主题
- PyCharm:2017.3版即将新增科学计算模式,预览版现在可以下载使用
- 自学Java HashMap源码
- 【开源】C#.NET股票历史数据采集,【附18年历史数据和源代码】
- PostGIS计算矢量切片(二)--按值渲染
- 背水一战 Windows 10 (49) - 控件(集合类): Pivot, Hub
- SQLite3动态库、静态库编译
- 第九章 Redis过期策略
- 由select/epoll返回的非阻塞connect还会是EINPROGRESS状态吗?
- Java移位运算符 “
- katalon系列十二:自动化上传文件、下载文件