js 事件委托 填加li 并给li点击变为红色。

作者: jiukeshuju 分类: JAVASCRIPT 发布时间: 2022-01-02 20:51
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <style>
        #ula li {
            color: royalblue;
        }
    </style>


    <!-- <div id="box1">
        <div id="box2">
            <div id="box3">
                <div id="box4"></div>
            </div>
        </div>
    </div> -->

    <!-- <input type="text" id="abc" />
    <div id="te"></div>
    <div id="ta"></div> -->

    <input type="submit" id="sub" value="填加LI" />
    <ul id="ula">
    </ul>
    <script>
        // var box = document.getElementById('box');
        // var p = document.createElement('p');
        // p.innerText = "子元素";
        // box.appendChild(p);

        // //移出
        // var abc = document.getElementById('abc');
        // var box1 = document.getElementById('box1');
        // box1.appendChild(abc);

        // //删除
        // var bbc = document.getElementById('bbc');
        // bbc.removeChild(abc);


        //s 数组形式选择
        // var ps = document.getElementsByTagName('p')[0];
        // console.log(ps);

        //传播 捕获和冒泡
        // var box1 = document.getElementById('box1');
        // var box2 = document.getElementById('box2');
        // var box3 = document.getElementById('box3');
        // var box4 = document.getElementById('box4');

        // box1.onclick = function() {
        //     alert(1);
        // }
        // box2.onclick = function() {
        //     alert(2);
        // }
        // box3.onclick = function() {
        //     alert(3);
        // }
        // box4.onclick = function() {
        //     alert(4);
        // }

        //事件对象
        // var box1 = document.getElementById('box1');
        // box1.onmousemove() = function() {

        // }

        //事件对象 键盘和方向键
        // var abc = document.getElementById('abc');
        // var te = document.getElementById('te');
        // var ta = document.getElementById('ta');

        // abc.onkeypress = function(e) {
        //     te.innerText = "输入的内容:" + e.charCode;
        // }

        // abc.onkeydown = function(e) {
        //     ta.innerText = "输入的内容:" + e.keyCode;
        // }

        //小案例移动小方块。

        // var t = 200;
        // var l = 200;

        // var abc = document.getElementById('abc');
        // document.onkeydown = function(e) {
        //     switch (e.keyCode) {

        //         case 37:
        //             l -= 2;
        //             break;
        //         case 38:
        //             t -= 2;
        //             break;
        //         case 39:
        //             l += 2;
        //             break;
        //         case 40:
        //             t += 2;
        //             break;
        //     }
        //     abc.style.top = t + 'px';
        //     abc.style.left = l + 'px';
        // }

        //获得滚轮的值
        // var a = 0;
        // var abc = document.getElementById('abc');
        // var aba = document.getElementById('aba');
        // abc.onmousewheel = function(e) {
        //     if (e.deltaY > 0) {
        //         a--;
        //     } else {
        //         a++;
        //     }
        //     aba.innerText = a;
        // }

        //e.stopPropagation(); 阻止传播事件 案例
        // var abc = document.getElementById('abc');
        // var sub = document.getElementById('sub');

        // sub.addEventListener('click', function(e) {
        //     e.stopPropagation();
        //     abc.style.display = 'block';
        // });

        // document.addEventListener('click', function() {
        //     abc.style.display = 'none';
        // });

        //事件委托案例
        // var ula = document.getElementById('ula');
        // var li = document.getElementsByTagName('li');
        // //alert(li.length);
        // for (var i = 0; i < li.length; i++) {
        //     li[i].addEventListener('click', function() {
        //         this.style.color = 'red';
        //         //alert(1);
        //     })
        // }

        //事件委托案例 填加li 批量填加事件
        var ula = document.getElementById('ula');
        var sub = document.getElementById('sub');
        sub.addEventListener('click', function() {
            var lia = document.createElement('li');
            lia.innerHTML = "aaaaaa";
            ula.appendChild(lia); //上树的时侯,不是字符串,而是变量。

            lia.onclick = function() {
                this.style.color = 'red';
            }
        })
    </script>
</body>

</html>

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。