l'Événement keydown pour remplacer la touche retour ne fonctionne pas dans Firefox

J'ai suivantes simple code javascript, qui gère la Touche Retour, je ne veux pas envoyer le formulaire lorsque la touche entrée est enfoncée dans la zone de texte.

Tout cela fonctionne très bien, mais dans Firefox, si je afficher un message d'alerte, puis il s'arrête de fonctionner et la forme commence à être soumis, alors que le code exact sans message d'alerte fonctionne très bien et arrête le formulaire de soumission. Je ne comprends pas pourquoi d'alerte est de gâcher la fête..

    $("document").ready(function () {
        $("#input1").keydown(OnKeyDown);
    });


    function OnKeyDown(e) {
        if (e.keyCode == 13) {

            //alert('this will fail');  //Adding alert makes the form submit

            stopBubble(e);
            return false;
        }
    }

    function stopBubble (e) {

        //If an event object is provided, then this is a non-IE browser
        if (e && e.stopPropagation)
        //and therefore it supports the W3C stopPropagation() method
            e.stopPropagation();
        else
        //Otherwise, we need to use the Internet Explorer
        //way of cancelling event bubbling
            window.event.cancelBubble = true;
    }


  <input type="text" id="input1" value="">

OriginalL'auteur ace | 2010-10-04