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

设计公司网站建设文案手机如何建网站

设计公司网站建设文案,手机如何建网站,怎么申请公司网址,网站建设概括场景: 在做组件拖拽过程中,需要获取到触发元素冒泡过程中的所有元素,所以使用了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.dinnco.com/news/14233.html

相关文章:

  • 小游戏网页seo网络推广优化教程
  • 宝鸡住房和城市建设局网站百度网盘客服中心电话
  • 好一点的网站是怎么做的网上营销模式
  • wordpress搬家换域名网站关键词优化方法
  • 重庆电商平台网站建设长沙网站制作费用
  • 男人女人做邪恶的事网站关键词免费网站
  • 泰安网站建设制作服务seo综合查询站长工具怎么用
  • 商业网站怎么做网店推广策略
  • 撰写网站规划书全球搜钻
  • roseonly企业网站优化网站排名优化系统
  • 如何做交友网站sem竞价推广代运营收费
  • 网站开发如何压缩图片seo教程技术资源
  • wordpress怎么看访问量seo和sem的联系
  • 网站项目建设策划书搜索引擎营销的原理
  • 私人网站如何建现代营销手段有哪些
  • 常州企业做网站落实好疫情防控优化措施
  • 展台设计搭建公司排名网站优化与seo
  • 做网站后台要学什么营销策划公司 品牌策划公司
  • 进服务器编辑网站怎么做2020年关键词排名
  • 做网站的规范尺寸广州seo优化电话
  • an网站建设系统优化大师下载
  • 做添加剂的外贸网站有哪些软文营销的经典案例
  • 住房城乡建设部网站诚信郑州网站排名优化外包
  • 创业 做网站南宁seo推广
  • 国内网站赏析友情链接搜读
  • 广州网站建设系统营销技巧和营销方法心得
  • 长沙做网站seo公司aso优化推广
  • 有口皆碑的域名备案加急连云港网站seo
  • 济南网站建设山东聚搜网力推sem运营
  • 公司做网站可以永久买断吗百度推广代运营