如何检测浏览器是否启用了maxlength功能

3

我以为这样做可以检测出来,但实际上并不行。

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>

有没有办法检测浏览器是否启用了maxlength功能?


我猜如果(input.attr("maxLength")){...}是你想要的吗..? - Sudhir Bastakoti
maxlength 被所有浏览器支持,无论是新的还是旧的。因此,没有必要检查这个特定的属性。如果您设置了这个属性,它就会起作用。 - Gil
@Gil 在IE9下不支持。 - zelda.j
@dajeongda,您是正确的,只有IE10支持这个功能,我的错误。 - Gil
你想要做什么? - Knu
显示剩余4条评论
4个回答

7

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

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

maxLength在此处区分大小写。

希望这可以帮助您。


0
你可以通过查看对象元素来检查此选项的存在。 $(“#d_textarea”)[0] .maxLength 包含 maxlength 属性的实现。 如果此值未定义或不存在,则表示浏览器不支持它。

0

尝试在文本区域上使用,但不支持。 - zelda.j
http://www.w3schools.com/tags/att_textarea_maxlength.asp - 它说:“HTML 4.01和HTML5之间的差异。maxlength属性是HTML5中<textarea>标签的新功能。” - zelda.j

0
在浏览器中按F12进入开发者模式,您可以检查HTML文本框的属性,向下钻取并查看属性,您应该会看到maxLength属性。-1是默认值,其他值由您定义。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接