Aggiornamento:Rileva evento chiave (Enter) con JQuery in Javascript (su piattaforma Linux)
ho finalmente capito che "pressione del tasto" ha una compatibilità migliore di "keydown" o "KeyUp" su piattaforma Linux. Ho appena cambiato "keyup"/"keydown" in "keypress", quindi tutto è andato bene.
Non so quale sia la ragione ma è una soluzione per me. Grazie a tutti coloro che hanno risposto alla mia domanda.
-
ho alcuni codici che deve rilevare chiave conferenza stampa (devo sapere quando l'utente preme Invio) con JQuery e qui ci sono i codici 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
}
}
E ' funziona bene su Windows ma su Linux, a volte non riesce a catturare l'evento Enter. Qualcuno può aiutare?
Aggiornato:
Sembra buono se uso solo l'inglese per parlare. Ma devo usare un metodo di input per inserire il cinese. Se è il problema? (JQuery non può rilevare Inserisci se uso il metodo di input cinese?)
e Linux non ha nulla a che fare con esso compagno. – think123