e.which
イベント機能に厄介な問題があります。on keyup の簡単なコードを書き、どのキーが押されたかを確認するたびに、基本的にやりたいことが間違っています。
http://jsbin.com/axosuz/1/edit
他の何よりも前にバックスペースを押すと、単語のリストが追加されます。上下左右と複数のシフトについても同じことが言えます。それはかなり面倒で、修正を考えようとしています。
$('textarea').keyup(function (e) {
var list = ['key', 'keep', 'king', 'kept'];
if(e.which !== 32){
for (var i = 0; i < list.length; i++) {
if (list[i].toLowerCase().indexOf($(this).val()) === 0) {
$('#div').append('<span class="autosuggest">' + list[i] + ' </span>');
} else if (list[i].toLowerCase().indexOf($(this).val()) === -1) {
$('#div').html('');
}
}
}
});