30-jQuery事件命名空间面试题

当事件命名空间遇见triggle。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>30-jQuery事件命名空间面试题</title>
    <script src="JS_file/jquery-1.12.4.js"></script>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .father{
            width: 200px;
            height: 200px;
            background: red;
        }
        .son{
            width: 100px;
            height: 100px;
            background: blue;
        }
    </style>
    <script>
        $(function () {
            //带命名空间的父元素事件
            $(".father").on("click.ls",function (event) {
                alert("father click1");
            });
            //不带命名空间的父元素事件
            $(".father").on("click",function (event) {
                alert("father click2");
            });
            //带命名空间的子元素事件
            $(".son").on("click.ls",function (event) {
                alert("son click1");
            });

            //进行两种触发测试,
            // 1.触发带命名空间的子元素
            // 2.触发不带命名空间的子元素
            // $(".son").trigger("click.ls");//依次弹出son click1和father click1
            $(".son").trigger("click");//依次弹出son click1,father click1和father click2
            /*
           结论:
     1.利用trigger触发子元素带命名空间的事件,那么父元素带相同命名空间的事件也会被触发,而父元素没有命名空间的事件不会被触发
     2.利用trigger触发子元素不带命名空间的事件,那么子元素所有相同类型的事件和父元素所有相同类型的事件都会被触发
          * */
        })
    </script>
</head>
<body>
<div class="father">
    <div class="son"></div>
</div>
<a href="http://www.baidu.com">注册</a>
<form action="http://www.taobao.com">
    <input type="text">
    <input type="submit">
</form>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值