在Angular 18中,我已经使用Angular Drag&Drop CDK实现了一个简单的组件(您可以在此处看到更好的示例): 从'@angular/core'导入{component}; 进口 { CDKDRAG, cdkdragdrop,
我拥有的是一组Divs,是“菜单中”的页面列表(因此用户可以看到它们),另一组是“不在菜单中”的DIV(因此它们不可见用户)。我要做的是将“不在菜单中的”页面移动到“菜单中”部分。 这些是网站中的元素:
<div Class="question-item" draggable="true">Box 1: Milk was a bad choice.</div> <div class="question-item" draggable="true">Box 2: I'm Ron Burgundy?</div> <div class="question-item" draggable="true">Box 3: You ate the entire wheel of cheese? </div> <div class="question-item" draggable="true">Box 4: Scotch scotch scotch</div> 我有以下活动处理程序: var $questionItems = $('.question-item'); $questionItems .on('dragstart', startDrag) .on('dragend', removeDropSpaces) .on('dragenter', toggleDropStyles) .on('dragleave', toggleDropStyles); function startDrag(e){ console.log('dragging...'); addDropSpaces(); e.stopPropagation(); } function toggleDropStyles(){ $(this).toggleClass('drag-over'); console.log(this); } function addDropSpaces(){ $questionItems.after('<div class="empty-drop-target"></div>'); } function removeDropSpaces(){ console.log("dragend"); $('.empty-drop-target').remove() } 为什么它仅适用于第一个拖动。如果我拖动最后一个拖动 - 拖动事件会立即触发。 (我不想使用jQuery ui btw) 对我来说毫无意义 - 看起来像一个错误。 IAM ON Chrome v 30上的OSX。 HERH是JSFIDDLE的链接:Http://jsfiddle.net/joergd/zgspp/17/ (编辑:这是以下问题的重复:dragend,dragenter和DragLeave在我拖动时立即开火 - 但是我认为原始海报可以与JQuery UI一起使用,而我希望它是HTML5本机) 当我在主题中提到的dragend,dragenter和dragleave当我拖动时立即开火。该超时的DOM。 我没有直接的解决方案,但是更改DragStart事件处理程序中的DOM正在引起此问题,并且任何更改DOM的代码都应真正在Dragenter事件处理程序中进行 - 这样做,更可靠地触发了Drag&Drop事件。 不确定这是否是设计 - 感觉有点像一个错误。 这是一个已知的镀铬问题。问题是,正如Joerg提到的那样,您在Dragstart上操纵了DOM。 您可以这样做,但是您需要在超时。 例如 const dragstart = (event: DragEvent) => { event.dataTransfer!.setDragImage(image, 0, 0); setTimeout(() => { // mutate dom here }, 0); }; 就遇到了同样的问题。我正在通过将元素位置更改为固定在Dragstart中来操纵DOM。我使用这样的答案解决了我的问题: /* This function produced the issue */ function dragStart(ev) { /* some code */ myElement.style.position="fixed"; } /* This function corrected issue */ function dragStart(ev) { /*some code */ setTimeout(function changePos() { myElement.style.position="fixed"; }, 10); } 这似乎是您问题的答案是 function startDrag(e){ console.log('dragging...'); setTimeout(addDropSpaces(),10); e.stopPropagation(); }
我想从Outlook电子邮件中使用/读取附加的文件到Winform解决方案中。 例如:该电子邮件附有一个TXT文件;我想将txt文件的拖放和drog执行到winform中并阅读...
从资源管理器拖放在使用 MSIX 打包的 WPF 应用程序中不起作用
设置: 我有一个带有AllowDrop =“True”和Drop =“MyDropEvent”的DataGrid。让我们忽略 drop 事件的处理,因为它归结为: 如果我尝试拖/放...
这是关于“cdk dnd”和“嵌套”的第三个问题! 我不太明白另一个SO问题的老套建议。 所以这是一个非常基本和简单的 -> STACKBLITZ <- I...
RecyclerView 拖放 - 使用 ItemTouchHelper - 如何在拖动时设置更快的滚动速度?
我尝试了此代码进行拖放:https://github.com/iPaulPro/Android-ItemTouchHelper-Demo。 这是视频:https://youtu.be/lMsv2jYpbi4 有没有办法加快绘制过程中的滚动速度...
如何在 Flutter 中将 SliverList 设为 DragTarget
我有一个带有多个 SliverList 小部件的 CustomScrollView,我希望每个 SliverList 都充当 DragTarget。如何使这些列表接受拖放功能?这是一个简化版本...
如何在 Electron 中获取拖放到输入文件上的文件的绝对路径?
我正在使用 Electron 开发一个应用程序,在尝试获取已拖放到文件输入字段的文件的绝对路径时遇到了问题。 众所周知,电子...
TkDnd 在 Spyder 中工作,但在转换 .exe 后出现错误
我正在创建一个应用程序,它可以对文件进行排序并根据文件名合并它们。当我将文件从文件浏览器拖放到小部件的列表框时,我需要文件路径。对于 Tkinter,我安装了 TkDnd。我跟随...
interact.js 拖动在 Chrome 移动模拟器上不起作用
我正在使用interact.js 创建一个可抛出元素。 我正在尝试运行一个简单的示例,它在网络模式下运行良好,但是当我模拟移动设备时,拖动无法正常工作(elem...
SwiftUI 拖放实现触发 EXC_BAD_ACCESS 异常
在 SwiftUI 中实现拖放时,我一直在努力解决通用的 EXC_BAD_ACCESS 异常,即使在将其一直简化到最低限度之后,它仍然发生,我可以......
SwiftUI 中的拖放无法处理 Mac 中所有文件的 public.data
我正在 SwiftUI 中开发一个应用程序,我想在其中支持拖放文件功能来处理任何文件。当我尝试实现此功能时,我尝试接受放入自定义放置区域的任何文件并且