DOM事件机制

2019-03-21  本文已影响0人  RayLightUp

DOM事件级别

em.addEventListener('事件名称',事件处理程序,'true:捕获阶段,false:冒泡阶段')

事件捕获、事件冒泡

1. event.stopPropagation()
2. return false//阻止了事件本身

事件代理

原理:把事件处理器添加到了父元素,等待子元素事件冒泡,并且父元素能够通过target判断是哪个目标元素。

<body>
    <ul id="color-list">
        <li>red</li>
        <li>orange</li>
        <li>yellow</li>
        <li>green</li>
        <li>blue</li>
        <li>indigo</li>
        <li>purple</li>
    </ul>
    <script>
    (function() {
        var colorList = document.getElementById("color-list");
        colorList.addEventListener('click', showColor, false);

        function showColor(e) {
            e = e || window.event;
            var targetElement = e.target || e.srcElement;
            if (targetElement.nodeName.toLowerCase() === "li") {
                alert(targetElement.innerHTML);
            }
        }
    })();
    </script>
</body>

好处:提高性能。

event

window对象的event对象。常用方法

上一篇 下一篇

猜你喜欢

热点阅读