html - 是否有文本输入最大长度在 Safari 中不起作用的解决方法?

标签 html safari

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

<input type="text" maxlength="5" >

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

具体来说,在计算字符串的“长度”时,它的作用就像是忽略了插入符号之后的字符,因此如果插入符号最初位于位置 1,则还可以输入 9 个字符。

这在最新的 chrome 或 firefoxes 上不可重现。

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

我是不是使用了 maxlength 错误?这是已知的解决方法吗?我用谷歌搜索了一点...

最佳答案

试试这个: HTML :

<input name="mytest" type="text">

J查询:

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

关于html - 是否有文本输入最大长度在 Safari 中不起作用的解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27319642/

相关文章:

javascript - javascript + css 的 Safari 问题

css - 如何摆脱悬停时附加的内置 CSS?

macos - 如何在 OS X 上的旧版 Safari 中测试我的网站?

html - 如何在 safari "often visited"中显示自定义网站 Logo

javascript - 对象内的 svg 元素不会触发 css 动画

html - 如何将列缩小到所有行中该列的最大宽度,例如表中的 td 宽度?

html - 导航菜单仅在 Safari 中显示为同时按下。想法?

javascript - iPhone - Safari 父窗口焦点问题

javascript - 将多个 div 元素包裹在同一个类中

javascript - 为什么使用 "always allow"时 Firefox 中没有 `getUserMedia` 选项?