J'ai rencontré ce problème moi-même. J'ai utilisé .on
donc ça a l'air un peu différent mais j'ai fait ça :
$('#element').on('keypress', function() {
//code to be executed
}).on('keydown', function(e) {
if (e.keyCode==8)
$('element').trigger('keypress');
});
J'ajoute mon tour de travail ici. J'avais besoin de supprimer le nom de famille tapé par l'utilisateur, alors j'ai fait ceci en jQuery.
$(this).bind("keydown", function (event) {
// Allow: backspace, delete
if (event.keyCode == 46 || event.keyCode == 8)
{
var tempField = $(this).attr('name');
var hiddenID = tempField.substr(tempField.indexOf('_') + 1);
$('#' + hiddenID).val('');
$(this).val('')
return;
} // Allow: tab, escape, and enter
else if (event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
// Allow: Ctrl+A
(event.keyCode == 65 && event.ctrlKey === true) ||
// Allow: home, end, left, right
(event.keyCode >= 35 && event.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
else
{
// Ensure that it is a number and stop the keypress
if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105))
{
event.preventDefault();
}
}
});
0 votes
Vous pouvez essayer ce plugin jQuery code.google.com/p/js-hotkeys et utiliser l'alias de la touche "backspace".
3 votes
Il ne fonctionne pas sur chrome mais fonctionne sur Firefox.
0 votes
Désolé pour le nécropostage, mais il convient de noter que e.which est préféré à e.keyCode.