910e62b5创建于 1月15日历史提交
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, minimum-scale=1.0">
    <title>Test Page</title>
    <style>
      body {
        /* Make page scrollable. */
        width: 300vw;
        height: 300vh;
      }
      #range {
        width: 400px;
      }
      #offscreenRange {
        position: absolute;
        left: 8px;
        top: 200vh;
      }
      #dragLogger {
        width: 300px;
        height: 300px;
        background-color: thistle;
        position: absolute;
        left: 500px;
        top: 300px;
      }
      #pointerLogger {
        width: 30px;
        height: 30px;
        background-color: burlywood;
      }
    </style>
  </head>
  <body>
    <input id="range" type="range" min="0" max="100" value="0">
    <div id="dragLogger"></div>
    <input id="offscreenRange" type="range" min="0" max="100" value="0">
    <div id="pointerLogger"></div>
    <script>
      let event_log = [];
      let log_handler =
          e => event_log.push(`${e.type}[${e.clientX},${e.clientY}]`);

      const el = document.getElementById('dragLogger');
      el.addEventListener('mousedown', log_handler);
      el.addEventListener('mousemove', log_handler);
      el.addEventListener('mouseup', log_handler);

      let pointer_log = [];
      let pointer_handler = e => pointer_log.push(`${e.type}[${e.clientX},${e.clientY}]: ${e.buttons}`);
      const pl = document.getElementById('pointerLogger');
      pl.addEventListener('pointerdown', pointer_handler);
      pl.addEventListener('pointermove', pointer_handler);
      pl.addEventListener('pointerup', pointer_handler);
      pl.addEventListener('gotpointercapture', pointer_handler);

      pl.addEventListener('pointerdown', e=> pl.setPointerCapture(e.pointerId));
    </script>
  </body>
</html>