我有一个 keyCodes 数组,我需要检查该数组中是否不包含文本区域中的任何字符。虽然检查按下的键是否在数组中很容易,但不幸的是,如果假设文本粘贴在文本区域中,则它不起作用。
如果具有 keyCode 的字符存在于不在数组中的文本区域中,那么我对文本区域的字符限制就会发生变化。例如,如果 š (83) 的 keyCode 不在数组中,它将据此更改字符限制。
dec_codes=[10, 12, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,...]
我不知道还需要提供什么其他代码。
是的,我知道检查数组是否是字符而不是 keyCodes 会更好,但是数组是为我提供的,我只是想知道我是否可以实现我所需要的而无需转换数组。
最佳答案
您好,您可以监听文本区域中的任何输入,并将其文本的分割版本与您的字符代码进行比较,charCodeAt 和一些方法在这里非常有用,例如
function checker(charCodes, text) {
return text.split().some(char => charCodes.indexOf(char.charCodeAt(0)) > -1);
}
textareaNode.addEventListener('input', event => {
if(checker([101,105], event.target.value)){
// char code exists
}
})
关于javascript - 有没有办法检查输入值是否包含特定的键码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959350/