log.html 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
  6. <link rel="stylesheet" href="assets/style.css">
  7. <title>Hammer.js</title>
  8. </head>
  9. <body>
  10. <div class="container">
  11. <div id="hit" class="bg1" style="padding: 30px;">
  12. <span id="target" class="bg5" style="display: block; height: 100px;"></span>
  13. </div>
  14. <pre id="debug" style="overflow:hidden; background: #eee; padding: 15px;"></pre>
  15. <pre id="log" style="overflow:hidden;"></pre>
  16. </div>
  17. <script src="../../hammer.min.js"></script>
  18. <script>
  19. Object.prototype.toDirString = function() {
  20. var output = [];
  21. for(var key in this) {
  22. if(this.hasOwnProperty(key)) {
  23. var value = this[key];
  24. if(Array.isArray(value)) {
  25. value = "Array("+ value.length +"):"+ value;
  26. } else if(value instanceof HTMLElement) {
  27. value = value +" ("+ value.outerHTML.substring(0, 50) +"...)";
  28. }
  29. output.push(key +": "+ value);
  30. }
  31. }
  32. return output.join("\n")
  33. };
  34. var el = document.querySelector("#hit");
  35. var log = document.querySelector("#log");
  36. var debug = document.querySelector("#debug");
  37. var mc = new Hammer(el);
  38. mc.get('pinch').set({ enable: true });
  39. mc.get('rotate').set({ enable: true });
  40. mc.on("swipe pan panstart panmove panend pancancel multipan press pressup pinch rotate tap doubletap",
  41. logGesture);
  42. function DEBUG(str) {
  43. debug.textContent = str;
  44. }
  45. function logGesture(ev) {
  46. console.log(ev.timeStamp, ev.type, ev);
  47. log.textContent = ev.toDirString();
  48. }
  49. </script>
  50. </body>
  51. </html>