zoukankan      html  css  js  c++  java
  • addEventListener和onclick的区别

    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 时, 事件使用捕获传递

  • 相关阅读:
    Activit 5.13 工作流部署新版本后回退到上一个版本
    一个java的http请求的封装工具类
    FastJSON使用例子
    SoapUI、Postman测试WebService
    PLSQL连接oracle数据库
    python函数修饰符@的使用
    QEMU KVM Libvirt手册(8): 半虚拟化设备virtio
    QEMU KVM Libvirt手册(7): 硬件虚拟化
    多个router和多个network
    nova file injection的原理和调试过程
  • 原文地址:https://www.cnblogs.com/SallyShan/p/11489057.html
Copyright © 2011-2022 走看看