Requires

Provides

Provides a custom touch event on mobile devices

License:
MIT-style license.
Authors:
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
(function(){ var preventDefault = function(event){ event.preventDefault(); }; var disabled; Element.defineCustomEvent('touch', { base: 'touchend', condition: function(event){ if (disabled || event.targetTouches.length != 0) return false; var touch = event.changedTouches[0], target = document.elementFromPoint(touch.clientX, touch.clientY); do { if (target == this) return true; } while ((target = target.parentNode) && target); return false; }, onSetup: function(){ this.addEvent('touchstart', preventDefault); }, onTeardown: function(){ this.removeEvent('touchstart', preventDefault); }, onEnable: function(){ disabled = false; }, onDisable: function(){ disabled = true; } }); })();