首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何知道.keyup()是否是字符键(jQuery)

如何知道.keyup()是否是字符键(jQuery)
EN

Stack Overflow用户
提问于 2010-10-20 20:16:02
回答 3查看 123.7K关注 0票数 68

如何知道.keyup()是否是字符键(jQuery)

代码语言:javascript
复制
$("input").keyup(function() {

if (key is a character) { //such as a b A b c 5 3 2 $ # ^ ! ^ * # ...etc not enter key or shift or Esc or space ...etc
/* Do stuff */
}

});
EN

回答 3

Stack Overflow用户

发布于 2012-09-20 18:50:06

这对我很有帮助:

代码语言:javascript
复制
$("#input").keyup(function(event) {
        //use keyup instead keypress because:
        //- keypress will not work on backspace and delete
        //- keypress is called before the character is added to the textfield (at least in google chrome) 
        var searchText = $.trim($("#input").val());

        var c= String.fromCharCode(event.keyCode);
        var isWordCharacter = c.match(/\w/);
        var isBackspaceOrDelete = (event.keyCode == 8 || event.keyCode == 46);

        // trigger only on word characters, backspace or delete and an entry size of at least 3 characters
        if((isWordCharacter || isBackspaceOrDelete) && searchText.length > 2)
        { ...
票数 11
EN

Stack Overflow用户

发布于 2010-10-20 20:31:27

如果您只需要排除enterescapespacebar密钥,则可以执行以下操作:

代码语言:javascript
复制
$("#text1").keyup(function(event) {
if (event.keyCode != '13' && event.keyCode != '27' && event.keyCode != '32') {
     alert('test');
   }
});

See it actions here.

您可以参考complete list of keycode here进行进一步的修改。

票数 4
EN

Stack Overflow用户

发布于 2018-10-27 00:15:15

我从来不喜欢关键代码验证。我的方法是查看输入是否包含文本(任何字符),确认用户输入的是文本而不是其他字符

代码语言:javascript
复制
$('#input').on('keyup', function() {
    var words = $(this).val();
    // if input is empty, remove the word count data and return
    if(!words.length) {
        $(this).removeData('wcount');
        return true;
    }
    // if word count data equals the count of the input, return
    if(typeof $(this).data('wcount') !== "undefined" && ($(this).data('wcount') == words.length)){
        return true;
    }
    // update or initialize the word count data
    $(this).data('wcount', words.length);
    console.log('user tiped ' + words);
    // do you stuff...
});
代码语言:javascript
复制
<html lang="en">
  <head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  </head>
  <body>
  <input type="text" name="input" id="input">
  </body>
</html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3977642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档