当前位置: 首页 > news >正文

山石网站超市南通专业网站制作

山石网站超市,南通专业网站制作,做电商哪个平台比较好,成都旅游图高清大图弹出菜单应该具有的功能#xff0c;当鼠标点击其他区域时#xff0c;则关闭该菜单。 问题来了#xff0c;怎么检测鼠标点击了其他区域而不是当前菜单#xff1f; 百度“JS检测区域外的点击事件”#xff0c;会发现有很多方法#xff0c;有递归检测父元素#xff0c;有遍…弹出菜单应该具有的功能当鼠标点击其他区域时则关闭该菜单。 问题来了怎么检测鼠标点击了其他区域而不是当前菜单 百度“JS检测区域外的点击事件”会发现有很多方法有递归检测父元素有遍历冒泡节点等等。 vue 解决的思路将菜单区域的点击事件用 stop 修饰在最顶层元素调用鼠标单击事件关闭菜单完毕 由于菜单区域单击事件已被 stop 停止冒泡顶层元素无法捕获因此菜单区域的单击并不会关闭自己。这样不需要增加任何逻辑代码只需要在单击事件后增加一个 .stop 后缀来修饰就能解决。 演示效果和源码如下 !DOCTYPE html html langzh-CN headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0script srchttps://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js/scriptscript srchttps://cdnjs.cloudflare.com/ajax/libs/vue/2.6.14/vue.min.js/scripttitle弹出菜单测试1/titlestylebody {padding: 0; margin: 0;}#base {width: 100%;height: 100%;position: absolute;}#nav { margin: 16px;}#navspan {display: inline-block;border: 1px solid #bbb;background-color: #ebf4f6;border-radius: 6px;padding: 6px 18px;user-select: none;}#navspan:hover {background-color: #ace4eb;}.menudiv {display: flex;justify-content: flex-start;flex-direction: column;width: 160px;border: 1px solid #bbb;border-radius: 6px;padding: 12px 0;box-shadow: 0px 0px 5px #999;position: absolute;}.menudivdiv {width: 148px;height: 32px;margin: 0 6px;line-height: 32px;border-radius: 4px;text-align: center;}.menudivdiv:hover {background-color: #ace4eb;}hr {width: 154px;height: 1px;color: #808080;margin: 5px 2px;}/style /head bodydiv idbase clickpickOtherdiv idnav click.stopshowMenuspan idck1手机/spanspan idck2电脑/spanspan idck3家具/span/divdiv click.stoppickMenu classmenudiv v-ifcMenuck1m idck1mdiv手机通讯/divdiv手机配件/divdiv运营商/divdiv智能设备/div/divdiv v-ifcMenuck2m idck2mdiv电脑整机/divdiv电脑配件/divhrdiv外设产品/divdiv游戏设备/divdiv游戏设备/divdiv办公设备/div/divdiv v-ifcMenuck3m idck3mdiv家电厨具/divdiv家装软饰/divdiv生活日用/divdiv灯具五金/div/div/div/divscriptvar vm new Vue({el: #base,data: { cMenu: }, // cMenu 为空时不显示任何菜单methods: {showMenu: function () {const btn event.target;if (btn.nodeName.toUpperCase() ! SPAN) return;// 计算菜单的新坐标const e $(btn);const x e.offset().left e.innerWidth();const y e.offset().top e.innerHeight();// 弹出菜单跟随按钮位置而移动这里需要二次渲染(1 显示菜单2 移动菜单)const id btn.id m;this.cMenu id;this.$nextTick(e { $(# id).css({ top: y, left: x }); });},// 鼠标点击全部区域菜单区域的单击被阻断冒泡不会触发此函数pickOther: function () { this.cMenu ; },// 点击菜单区域时给出当前点击的菜单名pickMenu: function () { console.log($(event.target).text()); }}});/script /body /html
http://www.dnsts.com.cn/news/63622.html

相关文章:

  • 现代农业园网站建设方案四川做网站
  • 比较好的网站建设品牌设计wordpress链接 数据库文件
  • 浅谈做网站的好处东莞百姓网交友
  • 安康手机网站建设自己做签名网站
  • 旅游网站设计与实现论文wordpress statraq
  • 两学一做网站网站群晖搭建wordpress固定链接
  • 深圳网站制作首荐祥奔科技我对网站开发的项目反思
  • 中国建设银行贵州省分行网站wordpress模板图片不显示
  • 计算机多媒体辅助教学网站开发商城源码购买
  • 广东网站设计专业团队给实体店老板做的网站
  • 超链接到网站怎么做视频文件品牌网站建设解决方
  • 网站建设实习免费做计算机题的网站
  • 图片素材网站排行榜个人代做网站
  • 网站建设工作室深圳百度指数查询官网入口
  • 网站搬家闵行网站建站多少钿
  • 凯里网站建设如何收费网站开发和软件开发含义
  • 沭阳做网站的公司网站权重是什么
  • app设计网站模板免费下载wordpress导出主题
  • 网络公司做网站的合同wordpress主题消失
  • 网站开发询价函嘉鱼网站建设前十
  • 如何开通属于自己的网站济南营销型网站建设哪家好
  • 数据库网站模板为什么要做营销型网站
  • 免费微分销系统手机优化电池充电是什么意思
  • wordpress个人网站备案管理大丰企业做网站多少钱
  • 建设银行企业网站银行惠州seo工作室
  • 泰安做网站公司如何做一款app需要多少钱
  • 北京 外贸网站建设一点空间网站建设
  • 网站接入支付宝在线交易怎么做长沙外贸网站
  • 印发网站建设方案王也高清头像图片
  • 企业云网站建设北京兄弟搬家公司