问题标签 [drag-and-drop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1281 浏览

sharepoint - 是否可以使用拖放将 Sharepoint 中的 Web 部件移出编辑模式?

我想知道是否有人在 Sharepoint 2007 Web 部件页面的正常视图模式下实现了 iGoogle/netvibes 拖放界面?如果可能的话,我希望使用编辑模式中已经存在的拖放功能,因为这是 Sharepoint 附带的,但我希望它在页面的正常视图模式下可用,而不仅仅是在编辑模式下。

我已经在网上四处寻找,但找不到这样做的人。我尝试使用 jQuery 进行快速测试,但默认情况下页面的标记使其难以使用基于表格的布局来实现。

我还看到有一个用 YUI 实现的表格单元格排序,它可能适用于此,但我还没有尝试过。

因此,如果有人对此有任何经验,任何提示将不胜感激!

0 投票
5 回答
10906 浏览

c++ - 文件的拖放是如何完成的?

在 winamp 或 vlc 播放器中,如何进行文件拖放?我的意思是我想知道什么样的编码进入应用程序?我想知道 C++

0 投票
9 回答
963 浏览

.net - 拖放控制 - 邪恶?

我不能忍受像线程和计时器这样的拖放控件。这些控制感觉与它们存在的实际本质相去甚远。拖放线程?我希望拖放器在他们这样做之前了解幕后发生的事情。

这些抽象是不是离金属太远了?他们是在帮助还是伤害程序员?

0 投票
4 回答
5383 浏览

javascript - 使用 Javascript 检测放入 textarea

我所需要的只是能够检测到文本何时被放入 Textarea。然后我获取该文本并对其进行处理并清除文本区域。可能有很多这样的文本区域和非常高的 UI 期望,所以轮询是最后的手段。

对于 IE,“onfocus”可以解决问题,因为在用户将内容放入 textarea 后会触发此事件。

对于 Firefox,我找不到有效的事件。我已经尝试过 onmouseup 和 onchange .. 不知道还有什么可以尝试的。我不想不得不轮询 textarea 的内容。非常感谢帮助。谢谢。

编辑:为澄清起见,“丢弃”意味着用户(通常)从页面中选择文本,但无论在哪里,将其拖放到文本区域中都没有关系。这与 Ctrl+V 或右键单击粘贴(采用两种不同的检测方法,顺便说一句)或(显然)键入文本区域不同。具体来说,它是拖放的“拖放”方面。我真的不知道该怎么形容它。

我觉得这个问题说得比较准确。为了幽默,假设我的意思是你们都选择共享的文本区域上的任何其他操作。如果我的意思是“粘贴”,你不认为我会在我的问题的标题或内容中提到一些关于粘贴的内容吗?输入文本区域也是如此。但是,也许,你们都不够了解我,不知道我输入了我的意思,而不是错误地输入了与我的意思有点相关的东西。

0 投票
1 回答
2902 浏览

drag-and-drop - 如何在 Google Earth 插件中处理拖动事件?

我的 javascript 很弱。是否可以修改下面的相同代码来执行以下操作:

有什么建议可以提供吗?

示例代码:

对于奖励积分,我可以在之后重新加载 kml 吗?

0 投票
2 回答
1234 浏览

python - wxPython中OLE拖拽方式

我有在 MS Windows 上运行的 wxPython 应用程序,我希望它支持其实例之间的拖放(因此用户打开我的应用程序 3 次并将数据从一个实例拖到另一个实例)。

wxPython 中的简单拖放就是这样工作的:

  1. 用户发起拖动:源窗口在 wx.DataObject() 中打包必要的数据,创建新的 wx.DropSource,设置其数据并调用 dropSource.DoDragDrop()
  2. 用户将数据拖放到目标窗口:拖放目标调用库函数 GetData(),它将实际数据传输到其 wx.DataObject 实例,最后 - dataObject.GetData() 解包实际数据。

我想要一些更复杂的拖放功能,允许用户选择在他下降后拖动哪些数据。我的梦想
场景:

  1. 用户发起拖拽:只有一些指向源窗口的指针被打包(一些函数或对象)。
  2. 用户将数据拖放到目标窗口:显示漂亮的对话框,询问用户他选择了哪种拖放模式(例如 - 仅拖动歌曲标题,或歌曲标题和艺术家姓名或拖动艺术家的整个专辑)。
  3. 用户选择拖拽模式:Drop target 在拖拽的数据对象上调用一些函数,然后从拖拽源中取出数据并传送到drop target。

我梦想的场景在 MS Windows 中似乎是可行的,但是 wxWidgets 和 wxPython 的文档非常复杂且模棱两可。并非所有 wx.DataObject 类都在 wxPython 中可用(仅 wx.PySimpleDataObject),所以我希望有人分享他对这种方法的经验。这样的行为是否可以在 wxPython 中实现而无需直接在 winAPI 中进行编码?

编辑:Toni Ruža 通过工作拖放示例给出了答案,但这并不是我梦寐以求的场景。他的代码在数据被拖放时操作数据(HandleDrop()显示弹出菜单),但数据在启动拖动时准备好(在On_ElementDrag()中)。在我的应用程序中应该有三种不同的拖放模式,其中一些需要耗时的数据准备。这就是为什么我想将数据检索推迟到用户丢弃数据并选择(可能成本高昂)d&d 模式的那一刻。

对于内存保护问题 - 我想使用 OLE 机制进行进程间通信,就像 MS Office 一样。您可以复制 Excel 图表并将其粘贴到 MS-Word 中,它的行为就像图像(嗯,有点)。由于它有效,我相信它可以在 winAPI 中完成。我只是不知道我是否可以在 wxPython 中对其进行编码。

0 投票
3 回答
5581 浏览

javascript - 浏览器“拖放”事件:任何人都可以填空吗?

到目前为止,我从来没有真正需要使用任何拖动功能,所以让我向您介绍一下我到目前为止的发现:

  • 拖动事件是在用户拖动对象时发生的事件。这是“正确的”操作系统拖动,例如:hiliting 一些文本并拖动它,甚至从浏览器外部拖动一些东西。
  • 据我所知,在拖动时,不会触发其他浏览器事件。(例如,onmouseover 会被忽略)。唯一有效的事件是拖动事件。
  • 在所有现代浏览器中,onDragEnter 和 onDragOver 似乎都可以工作……但 Firefox 缺少“onDragLeave”。
  • 对于丢弃,FF 使用“onDragDrop”,而 IE 和其他人使用“onDrop”,而 Safari 似乎不支持它。
  • 事件似乎只适用于“可放置”元素,如 textarea 和 text。在其他元素上,只有一些事件有效。
  • 每个浏览器的各种其他怪癖,我什至不想回顾。
  • 关于这些事件的记录很少。

是的,我必须使用实际的拖放,并且无法模拟它。

我的问题:

  • 有没有办法在 FF 中检测“ondragleave”或类似的东西?
  • 有没有办法在 Safari 中检测“ondragdrop”或类似的东西?
  • 您对拖放有什么要补充的吗?

这是一个演示拖放事件的快速而肮脏的模板:

0 投票
1 回答
3985 浏览

wpf - WPF ListView/ItemsControl 拖放装饰器

我找到了 Bea Stollnitz 的这篇文章下载了源代码转换为 vb.net。 我相信我已经完成了转换,但有一件事仍然没有奏效,因为我试图得到它并拉出太多的头发。希望有人可以帮助我发现我缺少的东西。

好的,拖放在转换后的代码中可以正常工作,我只是没有让 InsertionAdorner 在 vb.net 中工作,我在代码中设置了断点并且所有代码都在执行,但是对于我来说 InsertionAdorner 没有变得可见。甚至 DrawLine 函数也被调用了!

我很茫然,我在 vb.net 中需要这个,原来的 C# 项目工作得很好,我就是找不到我缺少的东西!

谢谢,斯科特

0 投票
1 回答
1175 浏览

visual-studio - Visual Studio 中的文件拖放功能

我想知道是否有人知道插件或方法:

我希望能够将文件从解决方案资源管理器拖到 Windows 资源管理器窗口,并将文件复制到资源管理器中的位置。

目前使用VS2005

0 投票
2 回答
25372 浏览

c# - C# 从列表框拖放到树视图

我有一个带有列表框和树视图的 winform。

一旦我的列表框充满了项目,我想从列表框中拖动它们(多个或单个)并将它们放在树视图中的一个节点中。

如果有人在 C# 中有一个很好的例子,那就太好了。