
[英]Using html5 to drag and drop, change from drop(event) to allowDrop(event)
[英]Javascript drag and drop - delay for allowdrop
我目前陷入以下问题:
我需要在发生拖移时创建一个延迟,然后检查当前的拖移对象是否仍然相同。 当它是同一个对象时->执行代码。
这是我的代码:
var draggedId = null;
var triggered = false;
function allowDrop(ev) {
draggedId = ev.target.id;
setTimeout(function () {
if (draggedId == ev.target.id && ev.target.id != "" && !triggered) {
triggered = true;
draggedId = "";
ev.preventDefault();
}
}, 2000);
}
function drop(ev) {
ev.preventDefault();
}
function dragLeave(ev) {
draggedId == "";
triggered = false;
}
Allowdrop功能是拖动事件。 ev.preventDefault()允许删除不能在那里发生,因为该函数是异步的。 有任何想法吗?
谢谢,
马蒂亚斯
您能否解释一下您要达到的目标,而我可以更全面地回答?
通常情况下,您不能总是总说出放置是否可行,您最好的办法就是在页面上设置放置区域,并让它们根据您对放置的了解来取消拖动事件。 如果要使应用程序与跨窗口拖动一起工作,则不能依赖全局变量来存储有关被拖动内容的信息,也不能实际看到拖动内部的内容-您只能知道是哪种东西被拖。 因此,如果下降是可以接受的,则需要取消该事件。 看到这个问题
我认为也许您对dragevent如何传播感到困惑,这是您认为需要超时的原因吗? 但是阻止事件队列来确定您是否接受拖放,或者尝试在拖动事件冒泡到顶部并由浏览器以默认方式(即不接受拖放)进行处理之后尝试取消拖动事件是'去上班。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.