javascript - Il y a deux pressions sur une touche sous le même fichier jquery, et les deux sont déclenchées lorsque vous appuyez sur Entrée.
漂亮男人
漂亮男人 2017-06-26 10:50:28
0
2
769

J'ai conçu une petite application d'une seule page, un mini salon de discussion.

Dès que vous entrez, il y a un écran noir, puis il y a un petit panneau où vous devez entrer votre nom. Il y a un bouton à côté pour confirmer (la première pression sur la touche Après confirmation, l'écran noir et). le panneau disparaît et vous entrez dans la page.
La page est une salle de discussion, qui se déclenche en appuyant sur Entrée pour envoyer un message (la deuxième pression sur une touche).

Le problème maintenant est que lorsque vous entrez dans le panneau de nom, appuyer sur Entrée déclenchera les deux touches ci-dessus en même temps. Mais les sélecteurs liés à mes deux touches sont différents.

P.S. En HTML, le type des deux boutons est bouton.

S'il vous plaît, donnez-moi une grande réponse, merci beaucoup.

Code :

//get username
    function getUsername(){
        blackScreen.fadeOut("slow");
        return $("#input-username").val();
    }
    okay.click(getUsername);
    //send msg to database by enter
    formUsername.keypress(function(event) {
        if(event.keyCode === 13) {
            event.preventDefault();
            okay.trigger("click");
        }
    });
    
    //get time
    function getTime() {
        var mydate = new Date();
        var year = mydate.getFullYear();
        var month = mydate.getMonth() + 1;
        var day = mydate.getDate();
        var hour = mydate.getHours();
        var minute = mydate.getMinutes();
        var second = mydate.getSeconds();
        //standardize time
        function stdTime(s) {
            if(s < 10) {
                return "0" + s;
            } else {
                return s;
            }
        };
        return year + "/" + stdTime(month) + "/" + stdTime(day) + " " + stdTime(hour) + ":" + stdTime(minute) + ":" + stdTime(second);
    }

    //send msg to database by click
    inputBtn.click(function() {

        var inputMsg = $("#input-value").val();

        //push msg to database
        msgs.push({
            "name": getUsername(),
            "time": getTime(),
            "msg": inputMsg
        });
        $("#input-value").val("");

    });

    //send msg to database by enter
    inputForm.keypress(function(event) {
        if(event.keyCode === 13) {
            event.preventDefault();
            inputBtn.trigger("click");
        }
    });

Ajoutez le code pour les deux parties boutons du HTML :

<p class="chat-room-input">
                        <form class="form-inline form-input">
                            <p class="form-group">
                                <input type="text" class="form-control" id="input-value" placeholder="来一起吐槽~" maxlength="80">
                                <button type="button" class="btn btn-default" id="input-send">
                                    <span class="glyphicon glyphicon-send" aria-hidden="true"></span>
                                </button>
                            </p>
                        </form>
                    </p>


<p class="alert alert-warning alert-dismissible" role="alert">
                        <form class="form-inline form-username">
                            <p class="form-group">
                                <input type="text" class="form-control" id="input-username" placeholder="骚年!留下大名!" maxlength="10" autofocus="autofocus">
                                <button type="button" class="btn btn-default okay">OK</button>
                            </p>
                        </form>
                    </p>
漂亮男人
漂亮男人

répondre à tous(2)
小葫芦
 formUsername.keypress(function(event) {
     event.stopPropagation();  //防止事件冒泡
        if(event.keyCode === 13) {
            event.preventDefault();
            okay.trigger("click");
        }
    });
      inputForm.keypress(function(event) {
       event.stopPropagation();//防止事件冒泡
        if(event.keyCode === 13) {
            event.preventDefault();
            inputBtn.trigger("click");
        }
    });
迷茫
formUsername.keypress(function(event) {
        if(event.keyCode === 13) {
            event.preventDefault();
            okay.trigger("click");
        }
        event.stopImmediatePropagation();
    });

OK, merci pour votre réponse.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal