第一篇帖子,所以请温柔一点;
代码:
var matchString;
var searchString = '';
var lastKey;
function keyDown(e) {
if (!e)
e = window.e;
for (var i=0; i<asciiNum.length;i++){
if (e.keyCode == asciiNum[i]){
console.log('asciiLet: '+asciiLet[i]);
lastKey = asciiLet[i];
searchString +=lastKey;
}else if(e.keyCode == "27"){
searchString="";
console.log(searchsrtring)
}
}
}
function keyUp(e) {
console.log('left: '+searchString)
for (var i=0; i<champArray.length; i++){
}
}阵列:
var nameArray = ["aatrox","ahri","akali","alistar","amumu","anivia","annie","ashe", "blitzcrank", "brand", "caitlyn", "cassiopeia", "cho'gath", "corki", "darius", "diana", "draven", "dr. mundo", "elise", "evelynn", "ezreal", "fiddlesticks", "fiora", "fizz", "galio", "gangplank", "garen", "gragas", "graves", "hecarim", "heimerdinger", "irelia", "janna", "jarvan iv", "jax", "jayce", "karma", "karthus", "kassadin", "katarina", "kayle", "kennen", "kha'zix", "kog'maw", "leblanc", "lee sin", "leona", "lissandra", "lucian", "lulu", "lux", "malphite", "malzahar", "maokai", "master yi", "m.fortune", "mordekaiser", "morgana", "nami", "nasus", "nautilus", "nidalee", "nocturne", "nunu", "olaf", "orianna", "pantheon", "poppy", "quinn", "rammus", "renekton", "rengar", "riven", "rumble", "ryze", "sejuani", "shaco", "shen", "shyvana", "singed", "sion", "sivir", "skarner", "sona", "soraka", "swain", "syndra", "talon", "taric", "teemo", "thresh", "tristana", "trundle", "tryndamere", "twitch", "twisted fate", "udyr", "urgot", "varus", "vayne", "veigar", "vi", "viktor", "vladimir", "volibear", "warwick", "wukong", "xerath", "xin zhao", "yorick", "zac", "zed", "ziggs", "zilean", "zyra", "jinx"];
var asciiNum = ['27','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80','81','82','83','84','85','86','87','88','89','90']
var asciiLet= ['Esc','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']那么,我想要做什么:我想要将搜索字符串的内容与每个按下的键的nameArray相匹配。最后,每一个不是以f.e开头的元素。"A“应该是fadeOut。希望你们都能理解我蹩脚的英语,并同情我。
发布于 2014-02-07 09:37:26
你能做到的
HTMLInputElement)searchNameFromInput函数的调用,以便在检查输入时输入的值已经发生了变化。nameArray中的元素,该正则表达式从一开始就检查名称与输入值的匹配(例如:"an"将匹配"anivia"和"annie")代码看起来像这个
var nameArray = ["aatrox","ahri","akali","alistar","amumu","anivia","annie","ashe", "blitzcrank", "brand", "caitlyn", "cassiopeia", "cho'gath", "corki", "darius", "diana", "draven", "dr. mundo", "elise", "evelynn", "ezreal", "fiddlesticks", "fiora", "fizz", "galio", "gangplank", "garen", "gragas", "graves", "hecarim", "heimerdinger", "irelia", "janna", "jarvan iv", "jax", "jayce", "karma", "karthus", "kassadin", "katarina", "kayle", "kennen", "kha'zix", "kog'maw", "leblanc", "lee sin", "leona", "lissandra", "lucian", "lulu", "lux", "malphite", "malzahar", "maokai", "master yi", "m.fortune", "mordekaiser", "morgana", "nami", "nasus", "nautilus", "nidalee", "nocturne", "nunu", "olaf", "orianna", "pantheon", "poppy", "quinn", "rammus", "renekton", "rengar", "riven", "rumble", "ryze", "sejuani", "shaco", "shen", "shyvana", "singed", "sion", "sivir", "skarner", "sona", "soraka", "swain", "syndra", "talon", "taric", "teemo", "thresh", "tristana", "trundle", "tryndamere", "twitch", "twisted fate", "udyr", "urgot", "varus", "vayne", "veigar", "vi", "viktor", "vladimir", "volibear", "warwick", "wukong", "xerath", "xin zhao", "yorick", "zac", "zed", "ziggs", "zilean", "zyra", "jinx"],
input = document.getElementById('foo');
// I also assume IE9+ for addEventListener
input.addEventListener('keydown', function keyDown(e) {
e = e || window.event;
// just bind the input element as a parameter
// for the function searchNameFromInput
setTimeout(searchNameFromInput.bind(null, e.target||e.srcElement), 80);
}, false);
function searchNameFromInput(input) {
if (input.value.length) {
console.log(
nameArray.filter(function (name) {
return new RegExp('^' + input.value).test(name);
})
);
}
}https://stackoverflow.com/questions/21606378
复制相似问题