是否有一个解决方法,文本输入maxlength无法在Safari中工作?

MHa*_*ris 5 html safari

在OS X 10.10.1上的safari版本8.0(10600.1.25.1)中,如果您有以下内容:

<input type="text" maxlength="5" >
Run Code Online (Sandbox Code Playgroud)

用5个字符填充,然后将插入符号(用鼠标或键盘)放在字符串中间的某个位置(不是在开头或结尾),键入将导致输入更多字符.

具体来说,它在计算字符串的"长度"时忽略了插入符之后的字符,因此如果插入符最初放在位置1,则可以输入9个字符.

这在最新的chrome或firefox上是不可重现的.

效果可以在这个页面上看到:http://www.w3schools.com/tags/tryit.asp?filename = tryhtml_input_maxlength

我使用maxlength错了吗?这是一个众所周知的解决方法吗?我用谷歌搜索了一点没有快乐......

小智 8

试试这个:HTML:

<input name="mytest" type="text">
Run Code Online (Sandbox Code Playgroud)

Jquery:

$('input[name="mytest"]').keypress(function() {
    if (this.value.length >= 5) {
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)