Sha256: caa3cc1b8c8220b4c398bbc08c650aa4de13696828e7eaf9fe591107f0a86345
Contents?: true
Size: 1.08 KB
Versions: 7
Compression:
Stored size: 1.08 KB
Contents
/* --- name: Pinch description: Provides a custom pinch event for touch devices authors: Christopher Beloch (@C_BHole), Christoph Pojer (@cpojer) license: MIT-style license. requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch] provides: Pinch ... */ if (Browser.Features.Touch) (function(){ var name = 'pinch', thresholdKey = name + ':threshold', disabled, active; var events = { touchstart: function(event){ if (event.targetTouches.length == 2) active = true; }, touchmove: function(event){ event.preventDefault(); if (disabled || !active) return; var threshold = this.retrieve(thresholdKey, 0.5); if (event.scale < (1 + threshold) && event.scale > (1 - threshold)) return; active = false; event.pinch = (event.scale > 1) ? 'in' : 'out'; this.fireEvent(name, event); } }; Element.defineCustomEvent(name, { onSetup: function(){ this.addEvents(events); }, onTeardown: function(){ this.removeEvents(events); }, onEnable: function(){ disabled = false; }, onDisable: function(){ disabled = true; } }); })();
Version data entries
7 entries across 7 versions & 1 rubygems