Изменить: Поскольку ваш элемент вставлен динамически, вы должны использовать делегированный on ()
, как в вашем примере, но вы должны привязать его к событие нажатия клавиши, потому что, как отмечает @Marc, в IE событие нажатия клавиши не захватывает несимвольные клавиши:
$("#parentOfTextbox").on('keydown', '#textbox', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
// call custom function here
}
});
Посмотрите пример здесь .
Это работало на меня:
$("[id*=txtName]").on('keydown', function(e) { var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); alert('Tab Pressed'); } });
$('#textbox').live('keypress', function(e) {
if (e.keyCode === 9) {
e.preventDefault();
// do work
}
});