CKHoldClick

A simple library to let doms could be hold with mouse events.

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/428696/945692/CKHoldClick.js

Author
CKylinMC
Version
0.1
Created
2021-06-30
Updated
2021-06-30
License
GPLv3 License

A simple library to let doms could be hold with mouse events.

Noticed that this library depends on CKEventEmitter.lib.js, for more details check out the source code.

Usages

Step1: Init a HoldClick instance

To process holding event with HoldClick, you need to create a HoldClick instance for a single dom.

const dom = document.querySelector("#dom")
const hc = new HoldClick(dom)

Step2: Register Click and Hold events

Because HoldClick implementions, click events and other evnets like that is not recommended to use, HoldClick provided a interface to process click events and hold events.

hc.onclick(/* func */)
hc.onhold(/* func */)

Your function will recieve a paramater, that will be one of mouse down / mouse up / mouse out event object. It's not sure for which event you will recieved, it depended on users actions.

** tip **

For more readable intent, HoldClick supports chain-style calling, you can use HoldClick like below:

new HoldClick(dom)
    .onclick(/*...*/)
    .onhold(/*...*/)