**Do you want to request a *feature* or report a *bug*?**

bug? Maybe.

**What is the current behavior?**

Using non-delegated handler for submit event.

**What is the expected behavior?**

After IE9, at least I know, submit event bubbled up.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

16.2.0
document.body.removeChild(container);
  });
  
  it('should not fire form events twice', () => {
    const container = document.createElement('div');
    document.body.appendChild(container);
    const formRef = React.createRef();
    const inputRef = React.createRef();
    const handleInvalid = jest.fn();
    const handleReset = jest.fn();
    const handleSubmit = jest.fn();
    ReactDOM.render(
      <form ref={formRef} onReset={handleReset} onSubmit={handleSubmit}>
        <input ref={inputRef} onInvalid={handleInvalid} />
      </form>,
      container,
    );
    inputRef.current.dispatchEvent(
      new Event('invalid', {
        
        bubbles: false,
      }),
    );
    expect(handleInvalid).toHaveBeenCalledTimes(1);
    formRef.current.dispatchEvent(
      new Event('reset', {
        
        bubbles: true,
      }),
    );