点击除div本身之外的任意地方,关闭弹框

本文介绍了一种在网页上实现聊天框表情弹框的方法,通过点击特定按钮展示表情面板,并利用jQuery或Vue.js实现点击页面其他区域时关闭表情面板的功能。

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

因项目需要,要做一个聊天框,点击一个指定div,弹出表情弹框,点击除指定div和弹框本身的任意地方,关闭表情弹框。
点击除表情按钮和表情弹框
点击除图片中表情按钮和弹框本身的任意地方,关闭表情弹框

<!-- 表情按钮-->
	<li id="btn" type="2"></li>
	
<!-- 表情弹框-->
<div id="emoji_icon" hidden>
    <!-- QQ表情 -->
    <ul id="emoji_one">
    </ul>
    <!-- 表情 -->
    <ul id="emoji_two" hidden>
    </ul>
    <!-- tab -->
    <ul id="emoji_tab">
        <li id="icon_one">qq表情</li>
        <li id="icon_two">表情</li>
    </ul>
</div>

隐藏表情

// 隐藏、显示表情弹框
$("#btn").click(function() {
    $("#emoji_icon").toggle();
});

// 点击除按钮和弹框之外任意地方隐藏表情
$("body").click(function (e) {
    if (!$(e.target).closest("#btn,#emoji_icon").length) {
        $("#emoji_icon").hide();
    }
});

vue

if (!(event.target).closest('.choose-type, .choose-type-box')) {
  this.typeShow = false
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值