A simple dragging helper library
This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/428694/945686/CKDragHelper.js
A simple dragging helper.
To handle a dragging action, you must have a callback function to handle each move event. This funciton will be called each MouseMoveEvent and will recieve two objects uses like below:
window.dragger.regHandler(/* func here */ (delta, lastdelta)=>{ })
delta
: Will return an object contains x
and y
which are the difference with the drag start point.lastdelta
: Will return an object contains x
and y
which are the difference with the last delta value.Noticed that callback function will be erased when dragging action is over (mouse up event) and need to re-register for next call.
Now dragger
knows how to process dragging actions, you only need to tell it when to start. It usually be a MouseDownEvent or something like that, you need to pass a paramater to the startup method which contains screenX
and screenY
attributes, it could be a MouseEvent or an object you created manually. Here is a simple sample showing the usages that when clicked a dom then start dragging:
let dom = document.querySelector("#something")
dom.onclick = e=>{
e.preventDefault()
window.dragger.startDrag(e)
}