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('');
}
}
}
});