jQuery keyup()和中文/日文/韩文输入

时间:2013-06-09 01:08:50

标签: jquery cjk keyup

我在文本框上使用keyup()事件,该事件将一个AJAX请求发送到php文件。输入通常是中文/韩文/日文文本。问题是这些语言的IME基于拉丁语,然后你按一个数字,然后将它转换为字符。如,

enter image description here

尽管拉丁语根本没有显示在文本框中,但每个字母都是作为AJAX请求发送的,所以它必须在那里但是“看不见”或其他东西。例如,如果我输入“ni hao”,则会将以下内容作为请求发送:

  1. 名词
  2. ni
  3. ni h
  4. ni ha
  5. ni hao
  6. 你好
  7. 即使文本框中显示你好。这导致了如此多的浪费的AJAX查询,那么我将如何将查询限制为仅仅中文字符?

1 个答案:

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