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

组服务器做网站广州做网站哪个好

组服务器做网站,广州做网站哪个好,网站设计文字大小,做网站爱游戏一、场景 背景#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.yingshimen.cn/news/46567/

相关文章:

  • 郑州家居网站建设服务公司无需注册免费的网站
  • 网站上线后想修改网上做任务的网站有哪些内容
  • 网站建设与管理课程中学生做网站的软件
  • 专门做进口零食的网站西安网站建设需要多少钱
  • 大连建设主管部门网站长沙网站关键词排名
  • 如何建设网站脱颖而出logo在线设计生成器小程序
  • 制作网站的公司出国做网站工作
  • 北京门户网站制作wordpress利用工具
  • 网站ftp的所有权归谁东莞网络推广优化排名
  • 不用关网站备案wordpress数据备份还原
  • 上门做美容的有什么网站婚庆公司策划书
  • 厦门网站定制泸县手机网站建设
  • 网站功能模版辽阳网站设计
  • 做神马网站温州企业做网站
  • 网站域名迁移公告沥林行业网站建设
  • 广东省建设注册执业资格中心网站展示网站报价
  • 英文版网站制作百度海南分公司
  • 传媒大学附近网站建设公司网站a记录的是做cname
  • 深圳定制网站制作咨询电话wordpress自动采集文章
  • h5响应式网站技术上海装修公司排名391
  • 营销型企业网站的含义比较权威的房产网站
  • 上不了建设银行网站网站建设维护是干什么
  • 加快建设乡镇招商网站手机软件开发公司简介
  • 网站权重能带来什么作用开发app软件怎么挣钱
  • 网站修改图片链接网站建设开发岗位职责
  • 网站建设饣首选金手指个人网站如何做即时支付
  • 赣州那里有做网站的公司鞍山网站制作一般多少钱
  • 大气高端网站一元云购网站黑客攻击
  • 海南高端建设网站黄山建设厅官方网站
  • 怎么往公司网站添加上海住房城乡建设网站