回答
我想你可以设置一个变量“是拖动项目= true”,并在一些地方保存的项目内容。然后将它放在弹出窗口中的鼠标上。
你可以做的就是拖动,设置一个cookie并将鼠标移到目标窗口上,检查cookie和模拟的拖动。
查看此tutorial的DnD部分。
要实现此目的,可以传递发送和接收窗口都可以读取的临时值。它可能是一个cookie,或者更好的想法可能是使用localStorage,因为有些人自愿阻止cookie以获得更多隐私。
使用Modernizr的回退测试,它可能是这样的:
if (Modernizr.draganddrop) {
// add drag and drop support
} else {
// custom drag and drop support or suggest the user to get a real browser (if possible)
}
每当一拖开始:
if (Modernizr.localstorage) {
window.localStorage['item_1_drag_started'] = true;
} else {
document.cookie = "item_1_drag_started=1";
}
然后,当拖动时/鼠标达:
if (Modernizr.localstorage) {
delete window.localStorage['item_1_drag_started'];
} else {
document.cookie = "item_1_drag_started=0";
}
现在,当鼠标进入另一个窗口时,您可以检查该项是否为s直到通过访问localStorage进行拖动(或者如果不可用,则为脏Cookie)。
我能想到的唯一问题是当用户在这些窗口之间释放鼠标按钮时。这可能是一个问题,因为该项目将被视为拖动,但不能释放未按下的按钮。有没有人知道一个窍门,即使它没有触发事件,也要检查在进入窗口时是否仍然按下鼠标按钮?
与此同时,接收窗口中的点击事件可以简单地检查它是否仍在拖动,然后删除项目并移除标志。
UPDATE:关于mentionned问题,挖一点,做一些测试与它似乎既不mouseover
或mousemove
当鼠标按键仍然按下触发(至少在Chrome在我的测试中事件发生之后已被制成)。
考虑到这一点,我认为最好的方式来拖动和两个窗口之间的落差来切换它:
Click --> Drag is started
Click again --> Drop the item
从提供我现在可以看到的答案是窗口之间拖动是真的丑陋。您必须基本上将鼠标状态从一个窗口转移到另一个窗口,并将正在拖动的元素插入到目标窗口的DOM中。我希望有一些jQuery可以在两个窗口中运行,这会平滑所有的结果,但我猜不是。我只是不会做这个项目的拖累。我可以让用户单击第二个窗口中的一个元素,并立即显示在第一个窗口中。够好了。谢谢你看这个问题。
- 1. JavaFX从一个窗格拖动到另一个窗口
- 2. 如何将一些信息从一个窗口拖放到另一个窗口?
- 3. 将细节从一个窗口传递到另一个窗口
- 4. 将消息从一个窗口传递到另一个窗口
- 5. 如何检测从另一个窗口拖动的窗口?
- 6. 使用CSS将div从父窗口移动到另一窗口
- 7. 将QWidget从一个窗口移动到另一个窗口(在PyQt中)
- 8. 如何将WPF UserControl从一个窗口移动到另一个窗口?
- 9. 如何将一个窗口连接到另一个窗口
- 10. 如何将一个窗口添加到另一个窗口?
- 11. WPF导航从一个窗口到另一个窗口内
- 12. jquery插件,从窗口的一侧滚动div到另一个
- 13. 从另一个窗口
- 14. 从另一个窗口
- 15. 如何从一个WPF窗口将类数组返回到另一个窗口?
- 16. 如何将DOM数据从一个窗口传输到另一个窗口?
- 17. 无法将函数从一个窗口传递到另一个窗口
- 18. 如何将数据从一个窗口传递到另一个窗口?
- 19. wpf将控件从一个窗口转移到另一个窗口
- 20. 将图像源从一个窗口传递到另一个窗口
- 21. 将变量从一个模态窗口传递到另一个模态窗口
- 22. 如何将一个窗口与另一个窗口连接?
- 23. 如何将一个窗口“嵌入”另一个窗口
- 24. 从另一个弹出窗口打开一个弹出窗口
- 25. ASP.NET从另一个窗口刷新一个窗口
- 26. 如何从一个窗口执行一个功能到另一个窗口?
- 27. 删除一个窗口到另一个窗口
- 28. SDL1.2,另一个窗口中的窗口
- 29. 用另一个窗口控制另一个窗口
- 30. 嵌入一个窗口到另一个
你确定吗?你能提供演示吗? – Raptor