event.preventDefault w IE 10

Przesyłam formularz i chcę zapobiec akcji przesyłania, dopóki nie wykonam kilku innych czynności, takich jak pokazanie paska postępu do przesyłania plików. Ustawiłem ten kod na podstawie pytań SO, takich jakFunkcja event.preventDefault () nie działa w IE.

$(document).ready(function(){
    $("#fileform").submit(function(e){
        if(!e) e = window.event;
        if (e.preventDefault){
            // Firefox, Chrome
            e.preventDefault();
        }else{
            // Internet Explorer
            e.returnValue = false;
        }

        // other code
    }
}

Wszystko działa dobrze w Firefoksie i Chrome; działanie zgłaszania zostanie zablokowane, pojawi się pasek postępu, a następnie formularz zostanie przesłany, gdy mu to powiem. Jednak w IE 10 wykonywany jest pierwszy warunek instrukcji if i wydaje się, że formularz próbuje przesłać (pojawiają się bąbelki wysyłane przez IE 10). Dlaczego pierwszy warunek jest wykonywany?

Czy IE 10 obsługuje preventDefault (), gdzie IE 8 i 9 nie? Jeśli tak, to w jaki sposób prawidłowo radzić sobie z zapobieganiem akcji przesyłania formularza w IE 8, 9, 10, która nie będzie kolidować z Firefoksem, Chrome, Safari itp ...?

questionAnswers(2)

yourAnswerToTheQuestion