-
-
Save attenzione/7098476 to your computer and use it in GitHub Desktop.
| /* | |
| * jQuery Double Tap | |
| * Developer: Sergey Margaritov (github.com/attenzione) | |
| * License: MIT | |
| * Date: 22.10.2013 | |
| * Based on jquery documentation http://learn.jquery.com/events/event-extensions/ | |
| */ | |
| (function($){ | |
| $.event.special.doubletap = { | |
| bindType: 'touchend', | |
| delegateType: 'touchend', | |
| handle: function(event) { | |
| var handleObj = event.handleObj, | |
| targetData = jQuery.data(event.target), | |
| now = new Date().getTime(), | |
| delta = targetData.lastTouch ? now - targetData.lastTouch : 0, | |
| delay = delay == null ? 300 : delay; | |
| if (delta < delay && delta > 30) { | |
| targetData.lastTouch = null; | |
| event.type = handleObj.origType; | |
| ['clientX', 'clientY', 'pageX', 'pageY'].forEach(function(property) { | |
| event[property] = event.originalEvent.changedTouches[0][property]; | |
| }) | |
| // let jQuery handle the triggering of "doubletap" event handlers | |
| handleObj.handler.apply(this, arguments); | |
| } else { | |
| targetData.lastTouch = now; | |
| } | |
| } | |
| }; | |
| })(jQuery); |
Hello, It need a filter for two finger multitouch usage !
The filter must discard two different location taps !
Hello, It need a filter for two finger multitouch usage !
The filter must discard two different location taps !
You need to parse event params:
if (e.touches && e.touches.length === 2) {
// two finger multitouch event
}This is a part of the work yes, now the filter must discard two different location taps
This is a part of the work yes, now the filter must discard two different location taps
Nice, I can't give you an answer with one row of code, you need to implement some logic with event touches coordinates
Sorry for my english I'm French:) Yes it's mandatory because when we slide with two fingers there is a lot bad taps received and this frequently make a false double tap.
just store the last tap coordinate and make a difference with the new one to get the delta. If delta > tolerance; return.
There is no need for touches.length check.
Awesome !!!
@yairEO You have used tabs AND spaces, and have left debugging code in there...