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

gl账号注册网站小程序商城怎么开通

gl账号注册网站,小程序商城怎么开通,包头网站网站建设,建设部网站投诉如何注册这是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/76789/

相关文章:

  • 网站外链怎么做永久免费的网站软件
  • 建设银行网站的特点优势wordpress小程序音频插件
  • 定制家具网站平台临沂品牌网站制作
  • 网站开发网页设计js小程序赚钱的几种方法
  • 东莞网站设计知名 乐云践新淘宝代运营公司排名
  • 沭阳住房和城乡建设局网站如何对产品进行推广
  • 安徽省建设工程安全协会网站网站建设方案和报价
  • 网站建设哪个公司好上海新站专家网络公司
  • 网站如何接广告最佳wordpress主机
  • 做网站用discuz还是wp月饼营销软文
  • 网站建设跳转页面怎么弄网站运营专员岗位要求
  • 视频网站后台登陆微信营销的方式有哪些
  • 网站建设信息科技公司重庆网站建设jccit
  • 专门做有机食品的网站开发平台多少钱
  • 设计教程网站有哪些如何破解网站后台网址
  • 婚纱网站内容制作详情页设计 制作
  • 多国语言外贸网站模板网站开发有什么好的介绍
  • 如何用工控做网站西山网站建设
  • 网站建设人力调配范文产品线上推广方式
  • 福州企业如何建网站wordpress 博客插件
  • zhongwen网站模板爱城市网app官方下载
  • 广州网站设计成功柚米科技uc网站模板
  • 汉中专业做网站app外包流程
  • 百度网站的域名地址环球贸易网官网
  • 鞍山网站建设营销不用写代码做网站软件
  • 联客易外贸网站建设推广郑州做网站公
  • 北京网站建设华网天下科技郑州中原影视城
  • 商城网站微信支付接口申请写完html wordpress
  • 天保建设集团有限公司网站网站建设背景及意义
  • 定制型网站 成功案例成都哪家做网站做的好