javascript - Terdapat dua tekanan kekunci di bawah fail jquery yang sama, dan kedua-duanya dicetuskan apabila menekan Enter.
漂亮男人
漂亮男人 2017-06-26 10:50:28
0
2
749

Saya mereka aplikasi satu halaman kecil, bilik sembang mini.

Sebaik sahaja anda masuk, terdapat skrin hitam, dan kemudian terdapat panel kecil di mana anda perlu memasukkan nama anda di sebelahnya untuk mengesahkan (tekanan kekunci pertama, skrin hitam dan panel hilang dan anda memasuki halaman.
Halaman tersebut ialah ruang sembang, yang mencetuskan menekan Enter untuk menghantar mesej (tekanan kekunci kedua).

Masalahnya sekarang ialah apabila memasuki panel nama, menekan Enter akan mencetuskan kedua-dua penekanan kekunci di atas pada masa yang sama. Tetapi pemilih yang terikat pada dua tekanan kekunci saya adalah berbeza.

P.S. Dalam html, jenis kedua-dua butang ialah butang.

Sila beri saya jawapan yang besar, terima kasih banyak-banyak.

Kod:

//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");
        }
    });

Tambahkan kod untuk dua bahagian butang 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>
漂亮男人
漂亮男人

membalas semua(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();
    });

Selesai, terima kasih atas jawapan anda.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan