910e62b5创建于 1月15日历史提交
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, minimum-scale=1.0">
    <title>Page with text input</title>
    <style>
      div {
        margin-top: 8px;
      }
    </style>
  </head>
  <body>
    <!-- method=dialog prevents the form from navigating the page -->
    <form id="form" method="dialog">
      <input type="text" name="input" id="input">
      <input type="text" name="input2" id="input2" aria-label="test-input">
      <input type="text" name="input3" id="input3" aria-label="disabled-input" disabled>
      <input type="submit" id="submit">
    </form>
    <script>
      let input_event_log = [];
      let log_handler = e => {
        input_event_log.push({ type: e.type, time: e.timeStamp });
      };

      document.getElementById('input').addEventListener('change', log_handler);
      document.getElementById('input').addEventListener('input', log_handler);
      document.getElementById('input').addEventListener('keydown', log_handler);
      document.getElementById('input').addEventListener('keyup', log_handler);
      document.getElementById('submit').addEventListener('click', log_handler);

      // Filtering out unexpected 'change' events. Change events depend on focus
      // which causes browser_tests to flake.
      function getStableEvents() {
        return input_event_log.filter((event, index, arr) => {
          return event.type !== 'change';
        });
      }

      function getStableEventLog() {
        return getStableEvents().map(event => event.type).join(',');
      }

      function getStableEventLogTimes() {
        return getStableEvents().map(event => event.time);
      }
    </script>

    <div>
      This input calls preventDefault on all key events.
      <input type="text" id="keyHandlingInput" aria-label="key-handling-input">
      <script>
        document.getElementById('keyHandlingInput')
            .addEventListener('keydown', e => {
          e.target.value += e.key;
          e.preventDefault();
        });
        document.getElementById('keyHandlingInput')
            .addEventListener('keypress', e => e.preventDefault());
        document.getElementById('keyHandlingInput')
            .addEventListener('keyup', e => e.preventDefault());
      </script>
    </div>

    <div>
      This input is disabled and initially offscreen
      <input type="text"
             style="position: absolute; top: 200vh"
             id="offscreen-disabled-input"
             aria-label="offscreen_disabled_input" disabled>
    </div>
  </body>
</html>