global.html 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Replace global hammer.js constructor</title>
  5. <script src="../node_modules/hammerjs/hammer.js"></script>
  6. <script src="../propagating.js"></script>
  7. <style>
  8. div {border: 1px solid black;}
  9. #parent {width: 400px; height: 400px; background: lightgreen;}
  10. #child {width: 200px; height: 200px; background: yellow; margin: 10px;}
  11. </style>
  12. </head>
  13. <body>
  14. <p>
  15. Tap on child or parent. The child will stop propagation of the event.
  16. </p>
  17. <div id="parent">
  18. parent
  19. <div id="child">
  20. child
  21. </div>
  22. </div>
  23. <script>
  24. // replace the global Hammer constructor with a propagated one, such that
  25. // hammer.js instances automatically have event propagation.
  26. Hammer = propagating(Hammer);
  27. var parent = document.getElementById('parent');
  28. var hammer1 = new Hammer(parent)
  29. .on('tap', function (event) {
  30. alert('tap on parent');
  31. });
  32. var child = document.getElementById('child');
  33. var hammer2 = new Hammer(child)
  34. .on('tap', function (event) {
  35. alert('tap on child');
  36. // stop propagation from child to parent
  37. event.stopPropagation();
  38. });
  39. </script>
  40. </body>
  41. </html>