标签: drag-and-drop

如何在Swing中使用Drag-and-Drop来获取文件路径?

我的swing应用程序中有一个JTextField,它包含选择使用的文件的文件路径.目前我有一个JFileChooser用于填充此值.但是,我想为用户添加将文件拖放到此JTextField上的功能,并让它将该文件的文件路径放入JTextField,而不是始终使用JFileChooser.

如何才能做到这一点?

java swing drag-and-drop

38
推荐指数
4
解决办法
6万
查看次数

HTML5在屏幕上的任意位置拖放

我有一个调试器日志,我用JavaScript编写了一个我正在研究的项目.该日志基本上是<aside>HTML5中的标记,仅在需要时显示.我想玩弄能够在屏幕上移动日志的想法,因为它可能会重叠某些事情(这对我的项目来说很好).但是,我似乎无法弄清楚如何使用HTML5正确地拖放标签,以便它可以放置在屏幕上的任何位置(好吧,或在<div>元素内).

在阅读HTML5的拖放支持后,我对它的工作方式有了基本的了解,但是我不知道在允许将div放在任何地方时从哪里开始(它的z-index是一个很高的值,所以正如我所说,重叠很好).

有什么建议?

哦,我想尽可能避免在这个项目中使用外部库.我试图用纯JavaScript/HTML5来做这件事.

javascript html5 drag-and-drop

38
推荐指数
3
解决办法
6万
查看次数

如何检测文件被拖动而不是我页面上的可拖动元素?

我正在使用html5事件来启用文件和元素拖放.我已将dragover事件附加到正文并使用事件委派来显示可拖放的可拖动位置.我的问题是如何判断文件是否被拖动与具有draggable = true的元素.我知道我可以通过e.target检测被拖动的元素.但是,我怎么知道它是否是一个文件.

jquery可用.

另外,不要在这里讨论jquery-ui draggable.

我开始认为可能检测文件的唯一方法是排除并检测元素.如果我们不拖动元素,则假设它是一个文件.这将需要额外的工作,但默认情况下图像和链接是可拖动的,因此我将不得不向它们添加事件或阻止它们拖动.

javascript html5 drag-and-drop

38
推荐指数
2
解决办法
2万
查看次数

如何在AngularJS中注册我自己的事件监听器?

如何在AngularJS应用程序中注册我自己的事件监听器?

具体来说,我正在尝试注册拖放(DND)侦听器,以便在我的视图的新位置拖放某些内容时,AngularJS会重新计算业务逻辑并更新模型,然后更新视图.

drag-and-drop dom-events angularjs

38
推荐指数
2
解决办法
5万
查看次数

通过dataTransfer传递对象

我试图找出一种通过javascript的event.dataTransfer传递本机对象的方法来进行拖放.我正在编写CMS的前端编辑器部分,并希望用户能够拖放元素(许多不同类型,从文件到图像到HTML片段到几乎任何东西).这就是为什么我想传递一个真实的对象,所以我可以附加数据来指定必要的东西,以便知道如何渲染它.

一种解决方法是使用jQuery的.data()将对象附加到页面上的其他内容,然后简单地在setData中传递选择器字符串...但我并不特别喜欢该hack.

这也可以通过jQuery UI的draggable/droppable来解决(我并不完全反对使用任何库),但由于dropzone位于iframe中,这实际上是最新jQuery UI中的文档错误(1.10.2) ).另外,如果可能的话,我更愿意本地做.这个应用程序中已经有足够的库.

这是问题所在:http://jsfiddle.net/AHnh8/

var foo = {foo: "foo", bar: "bar"};

$dragme.on("dragstart", function(e) {
    e.originalEvent.dataTransfer.setData("foo", foo);
});

$dropzone.on("dragenter", function(e) { e.preventDefault(); });
$dropzone.on("dragover", function(e) { e.preventDefault(); });
$dropzone.on("drop", function(e) {
    console.log(e.originalEvent.dataTransfer.getData("foo")); // [Object object]
    console.log(typeof e.originalEvent.dataTransfer.getData("foo")); // string
});
Run Code Online (Sandbox Code Playgroud)

现在,在阅读了规范后,我完全理解为什么会失败.我不明白的是,如何最终实现我想要的.

谢谢

html jquery drag-and-drop

38
推荐指数
2
解决办法
3万
查看次数

禁用解决方案资源管理器中的拖放操作

有没有办法禁用解决方案资源管理器的拖放功能?你为什么这么问?我使用wacom数位板已经有好几年了,我喜欢它.但是,当您在解决方案资源管理器中使用它与TFS或AnkhSvn等源代码控件结合使用时,如果您意外将文件移动到其他目录中,则会发生灾难.

我目前设置visual studio来提示何时要检出文件,但是当检出解决方案/项目文件时,上述问题仍然存在.

drag-and-drop projects-and-solutions visual-studio

37
推荐指数
2
解决办法
7374
查看次数

Android工作室中的拖放功能无法正常工作

我是android编程新手android studio中的拖放功能无法正常工作.我无法将任何东西拖到我的手机上.现在我的片段是谷歌地图视图,我想在视图中添加一个搜索栏.它只是不拖.当我尝试在文本中添加它时,它说元素项不允许在这里?

这是我的activity_maps.xml文件

 <fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:id="@+id/map" tools:context=".MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment">
<item android:id="@+id/search"
    android:title="@string/search_title"
    android:icon="@drawable/ic_search"
    android:showAsAction="collapseActionView|ifRoom"
    android:actionViewClass="android.widget.SearchView" />
</fragment>
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop fragment android-layout android-studio

37
推荐指数
4
解决办法
6万
查看次数

jQuery拖放 - 如何获取被拖动的元素

我正在使用jQuery库来实现拖放.

如何删除被删除的元素?

我想在div中获取图像的id.拖动以下元素:

<div class="block">
    <asp:Image ID="Image9" AlternateText="10/12/2008 - Retina" Width=81 Height=84 ImageUrl="~/uploads/ImageModifier/retina.jpg" runat=server />
</div>
Run Code Online (Sandbox Code Playgroud)

我从他们的例子中得到了标准的drop函数:

$(".drop").droppable({
                 accept: ".block",
                 activeClass: 'droppable-active',
                 hoverClass: 'droppable-hover',
                 drop: function(ev, ui) { }
});
Run Code Online (Sandbox Code Playgroud)

我尝试过各种ui.id似乎不起作用的等等.

javascript jquery drag-and-drop

36
推荐指数
5
解决办法
8万
查看次数

如何在窗口外拖动时检测Firefox中的dragleave事件

在窗口外拖动时,Firefox无法正确触发dragleave事件:

https://bugzilla.mozilla.org/show_bug.cgi?id=665704

https://bugzilla.mozilla.org/show_bug.cgi?id=656164

我正在尝试为此开发一种解决方法(我知道这可能是因为Gmail正在这样做),但我能想出的唯一的东西似乎真的很乱.

知道何时拖出窗外的一种方法是等待dragover事件停止发射(因为dragover在拖放操作期间不断发射).这就是我这样做的方式:

var timeout;

function dragleaveFunctionality() {
  // do stuff
}

function firefoxTimeoutHack() {
  clearTimeout(timeout);
  timeout = setTimeout(dragleaveFunctionality, 200);
}

$(document).on('dragover', firefoxTimeoutHack);
Run Code Online (Sandbox Code Playgroud)

此代码实际上是一次又一次地创建和清除超时.除非dragover事件停止触发,否则将无法达到200毫秒的超时.

虽然这有效,但我不喜欢为此目的使用超时的想法.感觉不对.这也意味着在"掉落区"造型消失之前会有一点滞后.

我的另一个想法是检测鼠标何时离开窗口,但在拖放操作期间,这样做的正常方法似乎不起作用.

有没有人有更好的方法这样做?

更新:

这是我正在使用的代码:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Drag and Drop Issue</title>
  <script src="http://code.jquery.com/jquery.js"></script>
</head>
<body>
  Open up the console and look at what number is reporting when dragging files in and out of the window. The number should always be 0 when leaving …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 drag-and-drop

36
推荐指数
1
解决办法
9349
查看次数

为什么HTML5拖放不在Firefox中工作?

我已将事件绑定到不同的元素,当我在除Firefox之外的所有浏览器中拖动它时,它按预期工作.但是,在Firefox中,它根本不起作用.唯一发生火灾的事件是dragstart,其他事件都没有发生.这是怎么回事?

html5 drag-and-drop

36
推荐指数
3
解决办法
2万
查看次数