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

网站建设swot好的竞价推广外包公司

网站建设swot,好的竞价推广外包公司,资阳seo快速排名,纷享销客crm官网场景: 在做组件拖拽过程中,需要获取到触发元素冒泡过程中的所有元素,所以使用了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.ds6.com.cn/news/31111.html

相关文章:

  • 如何做网站的基础青岛百度关键词优化
  • 做网站后台的叫什么北京学校线上教学
  • 在线做爰a视频网站潍坊网站关键词推广
  • 专业网站建设专家域名备案查询官网
  • 潍坊网站建设排行腾讯企业qq
  • 完整个人网站html网站域名解析
  • 织梦后台做的网站怎么绑定域名网络推广的途径有哪些
  • 做企业网站收费多少长春seo顾问
  • 政府网站建设的战略2022年最新十条新闻
  • 做任务得得q币的网站创建网站花钱吗
  • 电子商务网站的特色免费发布信息网网站
  • html做网站经验技巧搜收录批量查询
  • php网站开发软件语言独立站seo优化
  • 高效简便的网站开发网站优化公司哪家好
  • 房地产培训网站建设搜索引擎优化排名技巧
  • 专业做招聘的网站有哪些域名whois查询
  • 青岛网信信息科技有限公司seo关键词词库
  • 做网站需要用到的符号语言免费入驻的卖货平台有哪些
  • wordpress里添加字体seo关键词排名价格
  • 微信企业号可以做微网站吗今日重大事件
  • 网站设计 电子购物网站设计全网模板建站系统
  • 网站建设应该学什么软件实体店铺引流推广方法
  • 资产管理公司网站建设费用怎么入账培训机构有哪些
  • 新郑建设局网站网站流量统计分析工具
  • 上海平台网站建设公司排名网站策划书模板
  • 手工业网站怎么做郑州网络seo公司
  • 高端建站什么意思网站关键词排名快速提升
  • 桐城网站开发sem竞价推广公司
  • 网站制作滚动图片怎么做百度一下百度搜索入口
  • 融资网站建设重点在线的crm系统软件