code: function(event) {
                  scope.$apply(function() {
                    controller.$commitViewValue();
                  });
  
                  event.preventDefault
                    ? event.preventDefault()
                    : event.returnValue = false; // IE
                }
docs: we can't use jq events because if a form is destroyed during submission the default action is not prevented. see #1238  IE 9 is not affected because it doesn't fire a submit event and try to do a full page reload if the form was destroyed by submission of the form via a click handler on a button in the form. Looks like an IE9 specific bug.