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

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Author
CKylinMC
Version
0.1
Created
2021-06-30
Updated
2021-06-30
Size
2.42 KB
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(/*...*/)