angular-long-press
Long press support for both desktop and mobile when used in AngularJS framework
Thank you
GitHub Gist
, grrrian for Prevent long press while scrolling
Demo and Project page
Dependencies
This repository contains native AngularJS directives . The only required dependencies are:
- AngularJS (tested with 1.4.9 although it probably works with older versions)
Installation
bower install angular-long-press --save
Alternatively files can be downloaded downloaded from Github.
and copy the files from dist/
. Then add the sources to your code (adjust paths as needed) after
adding the dependencies for Angular first:
<script src="./bower_components/angular/angular.min.js"></script>
<script src="./bower_components/angular-long-press/dist/angular-long-press.js"></script>
Whichever method you choose the good news is that the overall size is very small: < 2.5kb for all directives (~0.5kb with gzip compression!)
As soon as you've got all the files downloaded and included in your page you just need to declare a dependency on the pr.longpress
module:
angular.module('myModule', ['pr.longpress']);
Example
Markup
<button on-long-press="onLongPress()" on-touch-end="onTouchEnd()" prevent-click="true"></button>
Options
There are several options that you can set as attributes on the directive element
on-long-press
: method to be called when long press event is triggeredon-touch-end
: method to be called when touch end or mouse up event is triggeredprevent-click
: default true, to prevent click event getting triggered after long press is triggeredlong-press-duration
: default 600, Integer value in MS to indicate after how long user touches will trigger long-press eventprevent-onscrolling
: default true, Boolean value to prevent long press when user is scrolling.
Issues
Please check if issue exists and otherwise open issue in github
Please add a link to a plunker, jsbin, or equivalent.
License
angular-long-press.js is available under the MIT license.