Schlüsselereignis erkennen (Eingabetaste) mit JQuery in Javascript (auf Linux-Plattform)

Aktualisieren:

Ich habe endlich herausgefunden, dass "keypress" eine bessere Kompatibilität hat als "keydown" oder "keyup" auf Linux-Plattformen. Ich habe gerade "keyup" / "keydown" in "keypress" geändert, also ging alles gut.

Ich weiß nicht was der Grund ist, aber es ist eine Lösung für mich. Vielen Dank an alle, die meine Frage beantwortet hatten.

-

Ich habe einige Codes, die Tastendruckereignisse erkennen müssen (ich muss wissen, wann der Benutzer die Eingabetaste drückt), und hier sind die Codes in 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
    }
}

Es funktioniert gut unter Windows, aber unter Linux kann das Enter-Ereignis manchmal nicht abgefangen werden. Kann jemand helfen?

Aktualisierte:

Es scheint gut, wenn ich nur Englisch spreche. Aber ich muss eine Eingabemethode verwenden, um Chinesisch einzugeben. Ist es das Problem? (JQuery kann die Eingabetaste nicht erkennen, wenn ich die chinesische Eingabemethode verwende?)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage