2014-12-22 42 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中的