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

wordpress站群 优化邢台本地头条新闻

wordpress站群 优化,邢台本地头条新闻,无极招聘网最新招聘,做兼职最好的网站这是2个组合事件 dom对象分源对象和目标对象 绑定的事件也是分别区分源对象和目标对象 事件绑定 事件顺序 被拖拽元素,事件触发顺序是 dragstart->drag->dragend; 对于目标元素,事件触发的顺序是 dragenter->dragover->drop/…

这是2个组合事件

dom对象分源对象和目标对象

绑定的事件也是分别区分源对象和目标对象

 事件绑定

事件顺序

被拖拽元素,事件触发顺序是 dragstart->drag->dragend

对于目标元素,事件触发的顺序是 dragenter->dragover->drop/dropleave

其中dragdragover会分别在源元素和目标元素反复触发。整个流程一定是dragstart第一个触发,dragend最后一个触发。

这里还有一个注意的点,如果某个元素同时设置了dragoverdrop的监听,那么必须阻止dragover的默认行为,否则drop将不会被触发。

问题

drop事件里面的e.offsetY会收到目标对象内部的子节点影响(如果在目标节点的子节点上是否标签),拿到是相对子节点内部的x,y距离。

修复:

  1. dragstart回调中给所有目标对象的子简单添加样式pointerEvents:none;让他们不会接受任何事件
  2. dragend的时候,恢复所有对象目标子节点的样式为:pointerEvents:auto;

 demo:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.wrap {height: 400px;overflow: auto;background-color: beige;}.inner {height: 1900px;position: relative;}.draggable {bottom: 10px;right: 10px;width: 100px;height: 100px;background-color: rebeccapurple;position: fixed;}.inner_box {top: 1800px;right: 10px;width: 100px;height: 100px;background-color: rebeccapurple;position: absolute;}</style>
</head><body><div class="wrap"><div class="inner"><div class="inner_box"></div></div></div><div draggable="true" class="draggable"></div><script>const inner = document.querySelector(".inner");const source = document.querySelector(".draggable")const inner_box=document.querySelector(".inner_box");inner.addEventListener("dragover", (e) => {e.preventDefault();console.log("e.offsetY over", e.offsetY, e.target)});inner.dragenter = function (e) {console.log("e enter", e.offsetY)}//源目标开始拖拽时候source.addEventListener("dragstart", (e) => {console.log("e start", e.offsetY)//inner_box.style.pointerEvents="none";});inner.ondrop = function (e) {console.log("e", e.offsetY)}</script>
</body></html>

参考

看完就懂的前端拖拽那些事 - 掘金

HTML 拖放(Drag and Drop)入坑实战总结篇 - 掘金

两个事件直接传递数据

DataTransfer 

参考:https://www.cnblogs.com/guo-siqi/p/16358323.html

http://www.yayakq.cn/news/440248/

相关文章:

  • 东莞公司建设网站营销网络平台
  • 海南专业网站建设蚁百杭州网站seo优化
  • 网站开发 需要用到什么软件有哪些网页在线代理服务器
  • 宿迁网站建设公司陕西省建设厅网站证件查询
  • 域名解析到网站建立网站的软件下载
  • 网站建设好后怎么更新内容南宁定制网站制作电话
  • 台州高端网站设计百度 手机网站 收录
  • c 可以用来做网站吗搜索引擎找不到的网站
  • wordpress 站内信蓝色通用营销型企业网站模板
  • 做网站的书籍推荐如何发布视频赚钱
  • 网站游戏怎么制作牡丹江地区做网站的公司
  • 公司网站优点自己做的网站怎么实现结算功能
  • 医院网站建设价值和意义石家庄seo推广
  • 用asp做的网站开发网站的步骤
  • 感觉做的比较好的健身网站品牌战略
  • 手机软件下载网站源码wordpress 按时间倒序
  • 网站项目设计具体方案广告营销有哪些
  • 搜索引擎是网站吗宣传设计网站
  • 特效视频网站免费注册深圳公司
  • discuz应用中心模板seo入门培训教程
  • 东莞寮步网站建设网络公司wordpress首行缩进2字符怎么设置
  • 怎么做网站的后台维护如何使用服务器ip做网站
  • 网站建设网络推广首选公司跨境外贸是做什么的
  • 怎么建立自己企业网站最近新闻有哪些
  • ireal 网站建设wordpress引入php
  • 泰州网站开发公司旅游网站html
  • xp系统中做网站服务器吗高端的网站名称
  • 贴心的网站优化公司joomla网站建设
  • 做国外网站需要多少钱巢湖做网站
  • 设计网站怎么做的17网店货源网