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

医疗网站专题模板wordpress博客文章tdk设置

医疗网站专题模板,wordpress博客文章tdk设置,装修设计公司名字,网站建设是什么工作一、场景 背景#xff1a;因为系统里经常有新活动或者公告需要通知所有用户#xff0c;希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候#xff0c;前端项目都发版了。因此#xff0c;前端维护了这个弹窗和它的关闭事件#xff0c;至…一、场景 背景因为系统里经常有新活动或者公告需要通知所有用户希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候前端项目都发版了。因此前端维护了这个弹窗和它的关闭事件至于弹窗里展示什么内容则由接口返回。问题后端返回了展示的HTML里有一个按钮希望点击这个按钮时可以关闭弹窗。如下图的交叉按钮 二、解决方案 考虑到需求的历史背景以及后续的可维护性。决定在后端返回的HTML里给期望关闭弹窗的按钮添加上ID。而在前端项目里弹窗加载完成并且接口已经返回数据后我们可以通过ID获取到用于关闭弹窗的按钮元素然后给这个按钮添加一个点击事件监听器。当用户点击该元素时会触发关闭弹窗的函数。 三、代码演示 Step1. 前端项目里存放着弹窗弹窗里的内容通过读取接口返回的 html 赋值给content然后通过v-html 呈现。将关闭弹窗的函数写在此处下面仅展示一些核心的实现代码Vue3Vuetify templatev-dialogv-modelvisiblev-card div v-htmlcontent/div/v-card/v-dialog /templatehandleClose() {this.visible false }Step2. 此时接口返回一段JSON用于页面呈现。里面可能包含了一个按钮用于关闭这个弹窗我们需要给这个按钮添加上ID下图里的id\close-btn\与后续的步骤关联。 {content: div\n a type\button\\n span class\v-btn__content\ id\close-btn\关闭/span\n /a\n /div,startTime: 2023-12-01 00:00:00,endTime: 2024-2-29 00:00:00 }Step3. 在前端项目里弹窗加载完成并且接口已经返回数据后我们可以通过ID获取到用于关闭弹窗的按钮元素然后给这个按钮添加一个点击事件监听器。当用户点击该元素时会触发关闭弹窗的函数。 document.getElementById(close-btn)?.addEventListener(click, this.handleClose)四、可能存在的坑点 需要等接口的数据返回并且生成了相关的元素以后才能对按钮添加事件监听。否则会监听不到这个元素。验证过程如下 !DOCTYPE html html langenheadmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title验证节点未生成时添加事件监听是否有效/title!-- 这个案例证明了给一个不存在的节点通过指定ID的方式添加事件监听是无效的即使之后会往页面上生成同样id的元素 --!-- 因此一定要确保元素已经在页面上挂载了才去添加事件监听 --/headbodydiv idparentbuttonidcreate生成新按钮/button/divscript/*** 创造一个新的元素**/function createNewNode() {const parentElem document.getElementById(parent)const newElem document.createElement(button)newElem.textContent 新按钮newElem.setAttribute(id, new)parentElem?.insertBefore(newElem, document.getElementById(create))document.getElementById(new)?.addEventListener(click, function () {newNodeOnClick(按钮生成后)})}/*** 新元素被点击时触发* param timing 点击的时机**/function newNodeOnClick(timing) {console.log(newNodeOnClick, timing)}document.addEventListener(DOMContentLoaded, function (e) {document.getElementById(create)?.addEventListener(click, createNewNode)document.getElementById(new)?.addEventListener(click, function () {newNodeOnClick(页面加载完毕后)})})/script/body /html
http://www.dnsts.com.cn/news/232885.html

相关文章:

  • 石家庄的网站公司如何做 行业社交类网站
  • 企业网站建设需要多少钱成都wordpress获取指定分类文章
  • 推广做任务 有哪些网站上海网站建设公司哪家好?
  • 网站建设论文3000网站功能列表
  • 北京网站建设制作开发公司做地方网站要办什么证
  • 优化网站佛山厂商怎样加入网站
  • 软件网站开发如何评价网站是否做的好坏
  • 手机如何创建个人网站运城环保局网站王建设
  • 网站论坛页怎么做wordpress工单系统
  • 北京网站制作是什么资讯门户类网站
  • 网站优化推广招聘山西大同网站建设
  • 资讯网站做appwordpress.rar
  • 猪八戒网网站设计wordpress 手机布局
  • 百度站长工具seo综合查询门户网站的设计
  • 网站代码模板编写一般网站的字体大小
  • 集团门户网站建设费用网络营销的概念?
  • 温江建设局网站网站建设公司咨
  • 华为企业网站建设需求分析网络seo优化推广
  • 做点小本意 哪个网站拿货便宜点域名交易
  • 荥阳网站制作营销总监
  • 网站做百度小程序改造的好处芸志建站怎么建立网站
  • 做网站用什么程序比较好wordpress主题flarum
  • 做微信公众号必备的网站营销型网站建设xywlcn
  • 哈尔滨网站建设唯辛ls15227江阴公司做网站
  • 网站开发技术入股协议营销外包团队有哪些
  • 运营商网站登录注册金华网站制作营销
  • 网站制作程序郴州旅游
  • 江西建设推广网站竞价外包推广
  • 阿里云做的网站怎么备份网站开发收费表
  • 微信的网站wordpress系统加载慢