jq冒泡之——点击其他地方隐藏
e.stopPropagetion();
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="http://cdn.bootcss.com/jquery/3.1.1/jquery.js"></script> <style> ul,li{padding:0;margin:0;} li{list-style: none;} .member-grounp{width:200px;height:200px;background:green;} .member-grounp li span{width:50px;height:50px;background:red;display:block;} /*挂断,发言,移除*/ .b_main{position:absolute;left:50%;top:50%;width:88px;} .out{ position:absolute; top:7px; border-color:transparent #d9d9d9 transparent transparent; border-style:dashed dashed solid dashed; border-width:8px; } .dashed{ position:absolute; border-color:transparent #ffffff transparent transparent; border-style:dashed dashed solid dashed; border-width:8px; top:-8px; left:-6px; } .mem-operation{ position:relative; border:1px solid #d9d9d9; padding:5px 0; left:16px; border-radius:5px; background:white; } .mem-operation li{border-bottom:1px solid #d9d9d9;height:40px;line-height:40px;position:relative;text-align:right;cursor:pointer;padding:0 10px;} .mem-operation li:last-child{border:0;} .mem-operation li i{display:block;width:27px;height:23px;position:absolute;top:50%;margin-top:-11px;z-index: 2;} .mem-operation li i.hangupI{background: url(../images/meeting.png) no-repeat;background-position:-143px -24px;} .mem-operation li i.speakI{background: url(../images/meeting.png) no-repeat;background-position:-143px -48px;} .mem-operation li i.removeI{background: url(../images/meeting.png) no-repeat;background-position:-143px -80px;} </style> </head> <body> <ul class="member-grounp"> <li> <span class="m-icon"></span> </li> </ul> <div class="b_main" id="meetingSet" style="display:none;"> <ul class="mem-operation"> <li><i class="hangupI" style=""></i>挂断</li> <li><i class="speakI"></i>发言</li> <li><i class="removeI"></i>移除</li> </ul> <div class="out"> <div class="dashed"></div> </div> </div> </body> </html> <script type="text/javascript"> $(".member-grounp").on('click',"li .m-icon",function (ev) { var omeetingSet = document.getElementById("meetingSet"); // 获取event对象,兼容性写法 var ev = ev || event; //判断显示 omeetingSet.style.display="block"; var mouseDownX = ev.clientX; var mouseDownY = ev.clientY; omeetingSet.style.left = mouseDownX+"px"; omeetingSet.style.top = mouseDownY+"px"; $(document).on("click", function(){ omeetingSet.style.display="none"; }); ev.stopPropagation(); }); $(".member-grounp").on('click',"li",function (ev) { var ev = ev || event; ev.stopPropagation(); }); </script>
只有在泥泞的道路上才能留下脚印
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理