190605 JavaScript Drag
要實作 Drag (拖曳),要利用 Mouse Down, Mouse Move 與 Mouse Up 這三個事件。
在 Mouse Down 時,取得 Mouse Event 的 offsetX/Y。
在 Mouse Move 時,以 Mouse Event 的 clientX/Y 減去上述的 offsetX/Y,就可得到被拖動的左上角座標值。
但在實作時,如果把 Mouse Down, Mouse Move 與 Mouse Up 都放在被拖曳的 element 上的話,會出現出乎意料的奇怪效果。
最後實作成功是將 Mouse Down 置於被拖曳的 element,而 Mouse Move 則置於上層 element 中。
在 Mouse Down 時,取得 Mouse Event 的 offsetX/Y。
在 Mouse Move 時,以 Mouse Event 的 clientX/Y 減去上述的 offsetX/Y,就可得到被拖動的左上角座標值。
但在實作時,如果把 Mouse Down, Mouse Move 與 Mouse Up 都放在被拖曳的 element 上的話,會出現出乎意料的奇怪效果。
最後實作成功是將 Mouse Down 置於被拖曳的 element,而 Mouse Move 則置於上層 element 中。
留言
張貼留言