【问题标题】:how to detect a browser is maxlength feature enable如何检测浏览器是否启用了 maxlength 功能
【发布时间】:2020-05-19 15:11:45
【问题描述】:

我以为我可以通过这样做来检测,但事实并非如此。

var input = $("#d_textarea");
var str = "123456789012";
input.val(str);
var maxlengthEnable = (input.val() != str);
console.log(maxlengthEnable);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<textarea id="d_textarea" maxlength=10></textarea>

有没有办法检测浏览器启用 maxlegnth 功能?

【问题讨论】:

  • 我猜 if(input.attr("maxLength")) { ... } 是你想要的......?
  • maxlength 支持所有新旧浏览器。所以没有必要检查这个特定的属性。如果您设置此属性,它将起作用。
  • @Gil IE9下,不支持
  • @dajeongda 如果你已经知道了,为什么要进行测试?
  • @DemoUser 似乎元素可以具有所有属性,无论是否正常工作。 IE9,这是真的,但不工作。我可以在 textarea 中输入超过 50 个长度的字符串...无论如何谢谢。

标签: javascript html browser cross-browser


【解决方案1】:

使用以下代码检查浏览器是否支持 maxlength:

if (!("maxLength" in document.createElement("textarea"))) {
    alert('Browser doesn\'t supports maxlength');
} else {
    alert('Browser support maxlength');
}

ma​​xLength 在这里区分大小写。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您可以通过查看对象元素来检查此选项是否存在。

    $("#d_textarea")[0].maxLength 包含maxlength 属性的实现。如果此值未定义或根本不存在,则表示浏览器不支持。

    【讨论】:

      【解决方案3】:

      如果您要求 maxlength 属性,则所有浏览器从一开始就支持它。请查看:http://www.w3schools.com/tags/att_input_maxlength.asp

      【讨论】:

      【解决方案4】:

      在浏览器勾选 F12 又名开发者模式时,您可以检查 HTML 文本框的属性,向下钻取并查看应该看到 maxLength 属性的属性。 -1 为默认值,其他值由您定义

      【讨论】:

        猜你喜欢
        • 2012-06-14
        • 1970-01-01
        • 2013-07-19
        • 2012-01-20
        • 2012-05-11
        • 1970-01-01
        • 1970-01-01
        • 2014-08-03
        • 1970-01-01
        相关资源
        最近更新 更多