使用Jquery中的on()来进行事件委托配合JS闭包实现效果

版权声明:版权是个什么玩意儿?看得上随便转 https://blog.csdn.net/Byte_Dance/article/details/85270177
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <title>Title</title>

</head>

<body>
    <ul id="uls">
        <li class="lis">我是第一个LI</li>
        <li class="lis">我是第二个LI</li>
    </ul>

    <div id="divs">新增一个li</div>

    <script>
        $("#uls").on("click",".lis",function(){
            console.log($(this).text())
        })

        //这是一个闭包函数
        function test(){
            var num = 1;
            return function(){    //这一行表示test函数的返回值是一个匿名函数,但是这个函数没有执行
                return num++;    //匿名函数体内返回了函数外部的变量num的值 并把它进行 ++ 操作
            }
        }

        var result = test();    //这里把test函数的返回值赋值给result 这里的result就是test内部的匿名函数
        $("#divs").on("click",function(){
            $("#uls").append(`<li class="lis">我是新增的LI `+ result() +`</li>`)
        })
    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/Byte_Dance/article/details/85270177