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

设计公司网站建设文案重庆网站seo搜索引擎优化

设计公司网站建设文案,重庆网站seo搜索引擎优化,百度网站是怎么做的,什么网站免费做简历模板场景: 在做组件拖拽过程中,需要获取到触发元素冒泡过程中的所有元素,所以使用了event.path属性。在Chrome下正常运行,但是在FireFox下测试时发现,完犊子,失效了,通过问题排查,发现了…

场景:

在做组件拖拽过程中,需要获取到触发元素冒泡过程中的所有元素,所以使用了event.path属性。在Chrome下正常运行,但是在FireFox下测试时发现,完犊子,失效了,通过问题排查,发现了Chrome下打印的event事件对象和FireFox下打印的事件对象不一样,在火狐浏览器下没有event.path属性。

描述:

!原始chrome的event事件对象存在path属性
!在chrome浏览器版本升级 109.0.5414.120后,event也没有path属性了
!firefox的event事件对象是一直没有path属性的

解决方案:

方案一:

百度寻找答案,发现很多人都给出如下的方案:

e.path || (e.composedPath && e.composedPath())

e.path是Chrome单独支持的属性,不属于MDN的标准,所以在MDN上搜不到event.path,但是composedPath是标准的属性。在MDN上解释如下:
在这里插入图片描述
点击查看MDN关于composedPath的介绍

高兴的将上述代码拿到项目中尝试发现,WTF?怎么是空数组?(难道是自定义事件的锅吗?在Vue中不行)

方案二:

在分析FireFox的event对象时发现,event.target对象中的parentNode就是上层的父元素DOM节点。
在这里插入图片描述
于是准备自己将所有的冒泡元素收集起来,以下composedPath方法就是具体的实现过程:

composedPath (e) {// 存在则直接returnif (e.path) { return e.path }// 不存在则遍历target节点const target = e.targete.path = []while (target.parentNode !== null) {e.path.push(target)target = target.parentNode}// 最后补上document和windowe.path.push(document, window)return e.path
}

然后在项目中使用这个方法做一个兼容即可。(记录一下,真坑!!!!)

综上,方案一不可行,可能是vue-draggable组件库自定义事件对象的锅,原生js可能有效,需要进一步验证。方案二可行。

http://www.dt0577.cn/news/11310.html

相关文章:

  • 北京b2c网站开发惠州百度seo在哪
  • 专门做孩子早教的网站网络营销方案的制定
  • 网站域名备案 更改吗网址收录查询
  • 上海网站建设 上海网站制作网站开发建设步骤
  • 网站开发 php智能营销方法
  • 宜宾市做网站多少钱广告网络营销
  • 网页制作基础教程第2版葛艳玲答案盛大游戏优化大师
  • 检测ai写作的网站网络推广人员
  • 怎么注册网站个人抖音代运营大概多少钱一个月
  • 网站备案表是什么百度指数查询网
  • 北京和君网站建设网络营销有什么
  • 客服外包怎么做seo怎么发文章 seo发布工具
  • 做韦恩图的在线网站seo是什么服务器
  • 学校网站如何做怎么推广app让人去下载
  • 一键建站平台电商怎么做推广
  • 京东网站建设案例谷歌浏览器2021最新版
  • 网站建设捌金手指下拉一推广方案万能模板
  • 工商企业注册网入口官网宁波seo网络推广咨询价格
  • 油漆网站设计网站优化课程
  • 长沙网页设计公司排名seo关键词推广怎么做
  • 能自己做二次元人物的网站自己做网站设计制作
  • 如何建设政府网站seo实战培训课程
  • 杭州做网站套餐域名大全查询
  • 网站推广资讯做广告的怎么找客户
  • 阿里云备案 网站服务内容友情链接怎么购买
  • 做网站网页的成本如何在百度做免费推广产品
  • 十堰网站建设weitian百度快照是啥
  • 织梦可以做淘宝客网站吗百度资源提交
  • 网站流量分析表网址网域ip地址查询
  • 北京住建网站市场监督管理局官网入口