Я хочу определить эти два поведения в поле ввода:
1) Клавиша Backspace
2) "@" и "#"
Используя функцию jQuery keypress
, я могу обнаружить специальные символы, но не backspace. LINK → Как узнать, является ли.keyup() символьным ключом (jQuery)
Используя jQuery keyup
/keydown
, я могу обнаружить обратное пространство, но не специальные символы. LINK → jQuery: keyPress Backspace не срабатывает?
Как я могу определить оба поведения?
ПРИМЕЧАНИЕ. Keypress
может обнаруживать Keypress
только в firefox. Chrome не обнаруживает этого.
Вы можете использовать следующий фрагмент:
var keys = {};
$('input').keydown(function (e) {
keys[e.which] = true;
});
$('input').keyup(function (e) {
getKeys();
delete keys[e.which];
});
function getKeys() {
if(keys[8]) {
alert('bakspace pressed');
}else if(keys[17] && keys[18] && keys[48]) {
alert('@ pressed');
}else if(keys[17] && keys[18] && keys[51]) {
alert('# pressed');
}
}
оригинальное сообщение: qaru.site/questions/142262/...