相关疑难解决方法(0)

如何区分文件或文件夹在被删除之前是否被拖动?

我试图检测是否在dragoverdragenter事件中拖动文件夹或文件.

例如:

在这种情况ondrop下,有一个名为的参数MouseEvent,它有一个名为的字段dataTransfer,其中列出了文件(.files)或项目(.items),具体取决于浏览器,我可以在ChromeFirefox中阅读.但是,对于dragoverdragenter事件,这些字段(.files.items)是空的.问题是我在拖动时需要这些信息,而不是丢弃.

注意:对于文件和文件夹event.dataTransfer.types[i] === "Files"都是true.

背景研究

我发现以下答案部分适合我的问题:

WebKit,以及Chrome,对你什么时候打电话有很大的限制getData.你不允许在里面dragstart或者里面做dragover.我认为这是规范的错误.

但答案是从2012年开始,我无法找到有关该主题的实际更新信息,因此我正在寻找有关此问题的最新信息.

javascript directory html5 drag-and-drop

60
推荐指数
1
解决办法
1万
查看次数

Drag'n'drop dataTransfer.getData为空

我正在努力让拖拉机工作,但我似乎完全忽略了getData/setData的工作原理.

我正在使用此代码(http://jsfiddle.net/ASKte/218/)

var el = angular.element(document.getElementById('drag'));
el.attr("draggable", "true");
el.bind("dragstart", function(e) {
    e.dataTransfer.setData('text', 'Where have you gone?!?!')         
});

var target = angular.element(document.getElementById('drop'));
target.bind("dragover", function(e) {
    if (e.preventDefault) {
        e.preventDefault(); // Necessary. Allows us to drop.
    }
    return false;
});

target.bind("dragenter", function(e) {
    console.debug(e.dataTransfer.types);
    console.debug(e.dataTransfer.getData('text'));
});
Run Code Online (Sandbox Code Playgroud)

我在这里使用AngularJS,因为这是一段更大的代码片段.

出于某种原因,当拖动底部正方形的顶部正方形时,getData('text')的值始终为空,但我不知道为什么......

有任何想法吗?

提前致谢.

javascript drag-and-drop angularjs

9
推荐指数
2
解决办法
6160
查看次数

如何访问拖动的文本(或者:将文本拖动到输入中“如何工作”?)

从我目前所见,我们可以使用该onPaste事件来验证/阻止粘贴<input>字段中的内容。同样,如果我们想验证/防止按键按下,我们可以使用该onkeydown事件。我很好奇ondragondrop

具体来说,我们如何检索用户拖动到文本中的内容<input>?如果我们想获取整个更新的输入,我们可以使用onchangeoronblur事件。不过,我很好奇抓住刚刚拖动文本-类似于我们如何能够利用event.which按下的键。

文本数据是否存储在event某处用于ondragondrop- 并且它是我们可以检索的格式?

我一直在探索 Dottoro 文档(/),但没有运气。

html javascript browser validation dom-events

7
推荐指数
1
解决办法
1743
查看次数