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.
function(event) {
                scope.$apply(function() {
                  controller.$commitViewValue();
                });

                event.preventDefault
                  ? event.preventDefault()
                  : event.returnValue = false; // IE
              }