Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
swiped-events
Advanced tools
A 1k script that adds swipe events to the DOM for touch enabled devices
A 1k script that adds swiped-left
, swiped-right
, swiped-up
and swiped-down
events to the DOM using CustomEvent and pure JS. Based on the StackOverflow thread Detect a finger swipe through JavaScript on the iPhone and Android
Add swiped-events.min.js to your page and start listening for swipe events. Events bubble, so you can addEventListener
at document level, or on individual elements.
document.addEventListener('swiped', function(e) {
console.log(e.target); // element that was swiped
console.log(e.detail); // see event data below
console.log(e.detail.dir); // swipe direction
});
document.addEventListener('swiped-left', function(e) {
console.log(e.target); // element that was swiped
console.log(e.detail); // see event data below
});
document.addEventListener('swiped-right', function(e) {
console.log(e.target); // element that was swiped
console.log(e.detail); // see event data below
});
document.addEventListener('swiped-up', function(e) {
console.log(e.target); // element that was swiped
console.log(e.detail); // see event data below
});
document.addEventListener('swiped-down', function(e) {
console.log(e.target); // element that was swiped
console.log(e.detail); // see event data below
});
The following event data is included with every event and accessible via e.detail
{
dir: 'up', // swipe direction (up,down,left,right)
touchType: 'direct', // touch type (stylus,direct) - stylus=apple pencil and direct=finger
xStart: 196, // x coords of swipe start
fingers: 1, // number of fingers used
xEnd: 230, // x coords of swipe end
yStart: 196, // y coords of swipe start
yEnd: 4 // y coords of swipe end
}
You can optionally configure how swiped-events works using the following HTML attributes:
Attribute | Description | Type | Default |
---|---|---|---|
data-swipe-threshold | Number of pixels or percent of viewport-axis a user must move before swipe fires | integer | 20 |
data-swipe-unit | Unit of the threshold (can be either "px", "vh" or "vw") | string | "px" |
data-swipe-timeout | Number of milliseconds from touchstart to touchend | integer | 500 |
data-swipe-ignore | If true, swipe events on this element are ignored | boolean | false |
If you do not provide any attributes, it assumes the following:
<div data-swipe-threshold="20"
data-swipe-unit="px"
data-swipe-timeout="500"
data-swipe-ignore="false">
Swiper, get swiping!
</div>
To set defaults application wide, set config attributes on a parent/topmost element:
<body data-swipe-threshold="50" data-swipe-unit="vw" data-swipe-timeout="250">
<div>Swipe me</div>
<div>or me</div>
</body>
git checkout -b my-new-feature
git commit -m 'Add some feature'
git push origin my-new-feature
The project includes everything needed to tweak, including a node webserver. Run the following, then visit http://localhost:8080 in your browser.
You can test on a desktop using Device Mode in Google Chrome.
git clone https://github.com/john-doherty/swiped-events
cd swiped-events
npm install
npm start
To create a new version of the minified swiped-events.min.js file from source, tweak the version number in package.json
and run the following:
npm run build
If you find this useful, please star the repo. It helps me priorities which OSS issues to tackle first 🙌
For change-log, check releases.
Licensed under MIT License © John Doherty
FAQs
A 1k script that adds swipe events to the DOM for touch enabled devices
The npm package swiped-events receives a total of 6,343 weekly downloads. As such, swiped-events popularity was classified as popular.
We found that swiped-events demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.