Pet*_*one 5 html javascript drag-and-drop
当 HTML5 拖动操作在另一个窗口上结束时,Drop目标窗口中会触发一个事件,DragEnd源窗口中的拖动元素也会触发一个事件。
对于复制和移动,放置目标将使用 携带的数据执行复制操作e.dataTransfer,而对于移动操作,必须在源窗口中删除该项目。
当事件在源窗口中触发时,DragEnd处理程序应如何确定操作是最终失败还是中止?
仅知道复制或剪切操作是否正在进行是不够的;仅当剪切操作在目标处成功时,才会从源处删除该项目。如果你愿意的话,它是交易性的。
我在 mdn 找到了答案。点击链接并向下滚动到“完成拖动”部分。不幸的是,这些信息既不在文档页中DragEnd,也不在DataTransfer文档页中。
拖动完成后,将在拖动源(接收到 Dragstart 事件的同一元素)处触发 Dragend 事件。[无论]拖动成功[还是]取消,此事件都会触发。但是,您可以使用 dropEffect 属性来确定发生了什么删除操作。
如果在拖尾期间 dropEffect 属性的值为 none,则拖动被取消。否则,效果指定执行了哪个操作。源可以在移动操作后使用此信息从旧位置删除拖动的项目。
对句子结构和语法的强调和修复是我的。
Safari 8 彻底崩溃了。它始终将“无”报告为放置事件中的放置效果。