e.これは、押されたキーの数値表現を提供します。数字キーは 48 ~ 57 (またはキーパッドでは 96 ~ 105) で表され、文字は 65 ~ 90 で表されます。
これを試して:
var $q = $('input#q');
$q.on('keydown', function (e) {
var val = e.which;
var num = (val > 47 && val < 58 || val > 95 && val < 106);
var letter = (val > 64 && val < 91);
if (num || letter) {
$('#container').animate({scrollTop: 410}, 500);
$(this).off('keydown');
}
}).focus();
テキストフィールドに入力を作成するものなら何でも動作するようにこれを行うことができます:
var $q = $('input#q');
$q.on('input', function (e) {
$('#container').animate({
scrollTop: 410
}, 500);
$(this).off('input');
}).focus();
ただし、これは 9 未満の IE バージョンでは機能しません。ここに例があります
これを行うことはできますが、ユーザーがキーを長時間 (ユーザーがキーを離すまで) 押し続けていると、すぐにはスクロールしません。
var $q = $('input#q');
var qval = $q.val()
$q.on('keyup', function (e) {
if(qval != $q.val()) {
$('#container').animate({scrollTop: 410}, 500);
$(this).off('keyup');
}
}).focus();