首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >html中输入的maxlength属性在HTC One M7上不起作用

html中输入的maxlength属性在HTC One M7上不起作用
EN

Stack Overflow用户
提问于 2014-06-27 10:22:31
回答 4查看 17.3K关注 0票数 11

我得到了一个简单的输入字段,它有一个maxlength="2“属性。代码如下所示:

代码语言:javascript
复制
<input id="txtLoginName" maxlength="2">

它在大多数Android设备上都运行得很好。然而,在HTC One M7上,它并不起作用。在这个设备上,它只允许我输入任意数量的字符。

有什么建议吗?到目前为止,我认为这应该是一个设备特定的问题。

提前谢谢。

EN

回答 4

Stack Overflow用户

发布于 2015-10-07 13:38:08

试试这个:

代码语言:javascript
复制
var $input = $('input')
$input.keyup(function(e) {
    var max = 5;
    if ($input.val().length > max) {
        $input.val($input.val().substr(0, max));
    }
});
票数 7
EN

Stack Overflow用户

发布于 2019-05-17 20:18:30

我对这个话题的发现是:

这个问题并不是安卓独有的,而是安卓键盘的问题。maxlength在google keyboard.maxlength上工作,在三星键盘上不工作。=>请参阅https://github.com/ionic-team/ionic/issues/11578#issuecomment-323403990

更重要的是,这不是一个bug,而是一个特性:

票数 5
EN

Stack Overflow用户

发布于 2014-07-16 15:54:02

我在几个项目中注意到了这个问题。我认为某些版本的Android对maxlength的支持不好。

我的解决方案是使用jQuery的按键功能,该功能可以检查字符数,并在达到最大字符数时防止输入字符。

代码语言:javascript
复制
$('#inputWithMaxLength').keydown(function (e) {

    var inputLength = jQuery(this).val().length;

    if(inputLength >= 10) {
        e.preventDefault();
        return false;
    }
}

我确信您可以更改此设置,使其搜索任何具有maxlength属性的输入,并动态创建一个jQuery备份。但我不确定这是否会相当慢。

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

https://stackoverflow.com/questions/24443007

复制
相关文章

相似问题

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