[英]How do I get clientX and clientY to work inside my “drag” event handler on Firefox?
Mozilla Firefox 3.x 在偵聽“ondrag”事件時似乎有一個錯誤。 事件對象不報告被拖動對象的位置, clientX
、 clientY
和其他屏幕偏移都設置為零。
這是非常有問題的,因為我想根據被拖動的元素制作一個代理元素,當然,使用clientX
和clientY
來調整它的位置。
我知道有一些很酷的東西,比如 HTML5 中的setDragImage
但我想為瀏覽器之間的原生 DD 提供一個通用的抽象。
錯誤代碼:
document.addEventListener('drag', function(e) {
console.log(e.clientX); // always Zero
}, false);
筆記:
此問題不會發生在其他事件( dragstart
、 dragover
)上,並且在拖動某些內容時無法捕獲mousemove
事件。
我找到了一個解決方案,我在文檔級別的“dragover”事件上放置了一個偵聽器,現在我獲得了可以通過全局共享對象公開的正確 X 和 Y 屬性。
HTML 5 中的拖動事件在當今的瀏覽器中無法完全發揮作用。 要模擬拖放情況,您應該使用:
這總是對我有用。 如果您遇到任何問題,請再次聯系,我可以提供一些示例。
祝你好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.