2014-12-22 40 views
2

我以为我可以通过这样做检测,但事实并非如此。如何检测浏览器是maxlength功能启用

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功能?

+0

我猜如果(input.attr(“maxLength”)){...}是你想要的..? –

+0

所有浏览器都支持'maxlength',新旧两种。所以不需要检查这个特定的属性。如果你设置这个属性,它会起作用。 – Gil

+0

@Gil在IE9下,不支持 –

回答

6

使用检查浏览器支持最大长度:

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

最大长度是大小写敏感的位置。

希望这会有所帮助。

+0

它的工作原理!谢谢! :d –

0

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

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

0

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

+0

尝试在textarea上,它不受支持。 –

+0

http://www.w3schools.com/tags/att_textarea_maxlength.asp - 它表示“HTML 4.01和HTML5之间的差异.max5”属性对于HTML5中的