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