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/

return (str + '').replace(/([.?*+\^$\[\]\\(){}|-])/g, '\\$1');
    }
    beforeEach(function() {
      var ReactDefaultInjection = require('ReactDefaultInjection');
      ReactDefaultInjection.inject();
      var ReactDOMComponent = require('ReactDOMComponent');
      var ReactReconcileTransaction = require('ReactReconcileTransaction');
      var NodeStub = function(initialProps) {
        this._currentElement = {props: initialProps};
        this._rootNodeID = 'test';
      };
      Object.assign(NodeStub.prototype, ReactDOMComponent.Mixin);
      genMarkup = function(props) {
        var transaction = new ReactReconcileTransaction();
        return (new NodeStub(props))._createOpenTagMarkupAndPutListeners(
          transaction,
          props
        );
      };
      this.addMatchers({
        toHaveAttribute: function(attr, value) {
          var expected = '(?:^|\\s)' + attr + '=[\\\'"]';
          if (typeof value !== 'undefined') {
            expected += quoteRegexp(value) + '[\\\'"]';
          }
          return this.actual.match(new RegExp(expected));
        },
      });
    });
    it('should generate the correct markup with className', function() {