首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制从虚拟键盘输入的文本的长度

限制从虚拟键盘输入的文本的长度
EN

Stack Overflow用户
提问于 2017-12-14 02:16:45
回答 1查看 444关注 0票数 0

我有以下使用软键键盘插件的代码。当我使用虚拟键盘时,我遇到了文本最大长度的问题。当我在普通键盘上打字时,文本的最大长度是10个字符,但是当我开始使用虚拟键盘时,我可以输入我想要的字符数。如何在虚拟键盘中键入最多10个字符的文本长度。请帮帮忙。

代码语言:javascript
复制
    <link rel="stylesheet" href="softkeys-0.0.1.css">

    <style>
       body { background-color:#fafafa; font-family:'Roboto';}
       #v{width:600px; hight:400px; text-align:center; margin:0 auto;}
    </style>
</head>
<body>

<div  style="border:2px inset #AAA ;height:50px; width:500px;font-
family:Lobster;font-size:30px" 
      id="d" ></div>
<script>
$('.softkeys').click(function() {
$('#d').text($(this).val());
});
</script>
<div id="v">
 <input type="text" maxlength="10" id="a" name="code" class="form-control 
input-lg"style="height:50px; width:500px; font-family: 'Lobster', 
cursive;
    font-size:10px"></form>
 <div class="softkeys" data-target="input[name='code']"></div>
                </div>
            </div>
        </div>
    </div>

    <script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="softkeys-0.0.1.js"></script>

    <script>
        $(document).ready(function(){
            $('.softkeys').softkeys({
                target : $('.softkeys').data('target'),
                layout : [
                    [
                        ['`','~'],
                        ['1','!'],
                        ['2','@'],
                        ['3','#'],
                        ['4','$'],
                        ['5','%'],
                        ['6','^'],
                        ['7','&amp;'],
                        ['8','*'],
                        ['9','('],
                        ['0',')'],
                        ['-', '_'],
                        ['=','+'],
                        'delete'
                    ],
                    [

'capslock','q','w','e','r','t','y','u','i','o','p',
                        ['[','{'],
                        [']','}']
                    ],
                    [

                      'shift','a','s','d','f','g','h','j','k','l',
                        [';',':'],
                        ["'",'&quot;'],
                        ['\\','|']
                    ],
                    [

                        'z','x','c','v','b','n','m',
                        [',','&lt;'],
                        ['.','&gt;'],
                        ['/','?'],
                        ['@',]
                    ],
                    ['space'],
                    ['reset']
                ]
            });
        });
    </script>
    <script>
$('.softkeys').click(function(event) {
    $('#d').text($("#a").val());
});

</script>
</body>
EN

回答 1

Stack Overflow用户

发布于 2017-12-14 02:30:16

您可以使用onchange事件来防止文本超过您想要的长度

代码语言:javascript
复制
$("#a").change(function(){
    var text = $(this).val();
    var max = $(this).attr('maxlength') || 10000000;
    if(text.length > max){
        text = text.substring(0, max - 1);
    }
    $(this).val(text);
}); 

编辑:在不存在maxlength属性的情况下,此示例假定10000000个字符为上限

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

https://stackoverflow.com/questions/47799707

复制
相关文章

相似问题

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