首页 > 解决方案 > jQuery 组合事件未定义

问题描述

我不希望用户在名称输入字段中输入数字或特殊字符,我使用以下代码实现了这一点:

jQuery(document).ready(function() {
   jQuery(".txtOnly").keypress(function(e) {
       var key = e.keyCode;
       if(key < 97 || key > 122) {
           e.preventDefault();
       }
   });
});

但是我想避免来自微软 IME 日文键盘的数字和特殊字符,尽管keypress它不起作用,所以我使用的是一个 jQuery 组合事件,它正在工作但它总是返回undefined,所以我无法获取键代码或这个值方法。

我的代码:

jQuery(document).ready(function() {
   jQuery(".txtOnly").on('compositionupdate', function(e) {
       var keyCode = e.keyCode;
       alert(keyCode); //Undefined 
       console.log(e.data); //Undefined 
   });
});

如何使用组合事件获取键码,或者我可以为 Microsoft IME 日语键盘使用什么其他解决方案?

标签: javascriptjqueryime

解决方案


推荐阅读