点击按钮显示一个div,div之外的地方隐藏,之内的地方不隐藏

本文介绍如何使用原生JavaScript实现一个弹窗功能,当点击按钮后显示隐藏层,并通过阻止事件冒泡来确保只有在弹窗外部点击时才隐藏弹窗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<body>
    <input id="btnClick" type="button" value="原生写法" class="btn-green radius" />
    <div id="pop" class="centerDiv radius" style="width: 260px; height: 100px; border:1px solid #ddd; background:#f7f7f7; color:#000;">
        当点击按钮后显示隐藏层,满足鼠标在div里操作不隐藏,在外边点击会消失的功能。
        逻辑上主要是阻止浏览器的冒泡<br />
    </div>

    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/JavaScript">
        //点击#btnClick时要阻止冒泡,否则.pop是不显示的,
        //因为冒泡了,会执行到下面的方法。
        function stopPropagation(e) {
            var ev = e || window.event;
            if (ev.stopPropagation) {
                ev.stopPropagation();
            }
            else if (window.event) {
                window.event.cancelBubble = true;//兼容IE
            }
        }
        $("#btnClick").click(function (e) {
            $("#pop").show();
            stopPropagation(e);
        });
        $(document).bind('click', function () {
            $("#pop").hide();
        });
        $("#pop").click(function (e) {
            stopPropagation(e);
        });
    </script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值