Mozilla firefox 3.x在收聽「ondrag」事件時似乎有bug。事件對象不報告正在拖動的對象的位置,clientX,clientY和其他屏幕偏移全部設置爲零。這是很有問題的,因爲我想根據被拖動的元素創建一個代理元素,當然,clientX和clientY調整它的位置。如何讓我的clientX和clientY在Firefox的「拖動」事件處理程序中工作?
我知道,有身邊有這樣清涼的東西,在HTML5 setDragImage但我想提供瀏覽器之間的本地DD一個通用的抽象。
故障代碼:
document.addEventListener('drag', function(e) {
console.log(e.clientX); // always Zero
}, false);
注:在拖動時事端 此問題不會對其他事件(的dragstart,的dragover)和鼠標移動事件的發生不能捕獲。
請幫忙!
對於您留下的評論+1。你可以使用José提供的答案。只要我有一點時間,我也會盡力找出與此相關的事情。 – Kirtan 2009-05-20 13:01:48
我找到了一個解決方案,我在文檔級別的「dragover」事件中放置了一個監聽器,現在我得到了可以通過全局共享對象公開的正確X和Y屬性。 – 2009-05-20 13:23:14