回答
我想你可以設置一個變量「是拖動項目= 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