I don't know if this is an issue with React or IE11 but when an the input initially contains an EN-dash (8211) it fires the change event. 
JSFiddle http://jsfiddle.net/uH539/10/

it('should warn against children for void elements', function() {
      ReactDOM.render(<input />, container);
      expect(function() {
        ReactDOM.render(<input>children</input>, container);
      }).toThrow(
        'input is a void element tag and must not have `children` or use ' +
        '`props.dangerouslySetInnerHTML`.'
      );
    });
    it('should warn against dangerouslySetInnerHTML for void elements', function() {
      ReactDOM.render(<input />, container);
      expect(function() {
        ReactDOM.render(
          <input dangerouslySetInnerHTML={{__html: 'content'}} />,
          container
        );
      }).toThrow(
        'input is a void element tag and must not have `children` or use ' +
        '`props.dangerouslySetInnerHTML`.'
      );
    });
    it('should validate against multiple children props', function() {
      ReactDOM.render(<div></div>, container);
      expect(function() {
        ReactDOM.render(
          <div children="" dangerouslySetInnerHTML={{__html: ''}}></div>,
          container
        );
      }).toThrow(
        'Can only set one of `children` or `props.dangerouslySetInnerHTML`.'