Requires

Provides

Provides a custom pinch event for touch devices

License:
MIT-style license.
Authors:
Christopher Beloch (@C_BHole), Christoph Pojer (@cpojer)
  1. 20
  2. 21
  3. 22
  4. 23
  5. 24
  6. 25
  7. 26
  8. 27
  9. 28
  10. 29
  11. 30
  12. 31
  13. 32
  14. 33
  15. 34
  16. 35
  17. 36
  18. 37
  19. 38
  20. 39
  21. 40
  22. 41
  23. 42
  24. 43
  25. 44
  26. 45
  27. 46
  28. 47
  29. 48
  30. 49
  31. 50
  32. 51
  33. 52
  34. 53
  35. 54
  36. 55
  37. 56
  38. 57
  39. 58
  40. 59
  41. 60
  42. 61
  43. 62
  44. 63
  45. 64
  46. 65
  47. 66
  48. 67
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; } }); })();