Wykryj zdarzenie klucza (Enter) z JQuery w Javascript (na platformie Linux)

Aktualizacja:

W końcu odkryłem, że „keypress” ma lepszą kompatybilność niż „keydown” lub „keyup” na platformie Linux. Właśnie zmieniłem „keyup” / „keydown” na „keypress”, więc wszystko poszło dobrze.

Nie wiem, co to za powód, ale jest to rozwiązanie dla mnie. Dziękuję wszystkim, którzy odpowiedzieli na moje pytanie.

-

Mam kilka kodów, które muszą wykryć zdarzenie kluczowe prasy (muszę wiedzieć, kiedy użytkownik naciśnie Enter) z JQuery i oto kody w Javascript:

j.input.bind("keyup", function (l) {
    if (document.selection) {
        g._ieCacheSelection = document.selection.createRange()
    }
}).bind("keydown", function(l) {
    //console.log(l.keyCode);
    if (l.keyCode == 13) {
        if(l.ctrlKey) {
            g.insertCursorPos("\n");
            return true;
        } else {
            var k = d(this),
            n = k.val();
            if(k.attr('intervalTime')) {
                    //alert('can not send');
                    k.css('color','red').val('Dont send too many messages').attr('disabled','disabled').css('color','red');
                    setTimeout(function(){k.css('color','').val(n).attr('disabled','').focus()},1000);
                    return
            }
    if(g_debug_num[parseInt(h.buddyInfo.id)]==undefined) {
            g_debug_num[parseInt(h.buddyInfo.id)]=1;
    }
        if (d.trim(n)) {
            var m = {
                to: h.buddyInfo.id,
                from: h.myInfo.id,
                //stype: "msg",
                body: (g_debug_num[parseInt(h.buddyInfo.id)]++)+" : "+n,
                timestamp: (new Date()).getTime()
            };
            //g.addHistory(m);
            k.val("");
            g.trigger("sendMessage", m);
            l.preventDefault();
            g.sendStatuses("");
            k.attr('intervalTime',100);
            setTimeout(function(){k.removeAttr('intervalTime')},1000);
            return
        }
        return
    }
}

Działa dobrze w systemie Windows, ale w systemie Linux czasami nie udaje się złapać zdarzenia Enter. Czy ktoś może pomóc?

Zaktualizowano:

Wydaje się dobrze, jeśli używam angielskiego tylko do rozmowy. Ale muszę użyć jakiejś metody wprowadzania danych, aby wprowadzić język chiński. Jeśli to jest problem? (JQuery nie może wykryć Entera, jeśli używam chińskiej metody wprowadzania danych?)

questionAnswers(3)

yourAnswerToTheQuestion