我在文本框上使用keyup()事件,该事件将一个AJAX请求发送到php文件。输入通常是中文/韩文/日文文本。问题是这些语言的IME基于拉丁语,然后你按一个数字,然后将它转换为字符。如,
尽管拉丁语根本没有显示在文本框中,但每个字母都是作为AJAX请求发送的,所以它必须在那里但是“看不见”或其他东西。例如,如果我输入“ni hao”,则会将以下内容作为请求发送:
即使文本框中显示仅你好。这导致了如此多的浪费的AJAX查询,那么我将如何将查询限制为仅仅中文字符?
答案 0 :(得分:1)
这非常不优雅,但也许您可以检查最后输入的字符的字符代码,看它是否高于英文字符的字符代码(通常为60-100):
$('textarea').on('keyup',function(e) {
var value = $(this).val(),
length = value.length,
lastChar = value.substring(length-1, length),
charCode = lastChar.charCodeAt(0);
if (charCode > 200) {
// $.ajax()
}
});