2011-11-26 7 views

答えて

22

を役に立てば幸いサポートされていない場合、ナビゲータはデフォルトとしてテキストを返します。 このような簡単な確認が役に立ちます。

13

Modernizrは、新しい入力タイプのチェックをサポートしています。

+1

+1はるかに簡単な方法に言及するためには –

1

あなたは行うことができます:

var i = document.createElement("input"); 
i.setAttribute("type", "color"); 
return i.type !== "text"; 

色がサポートされている場合は、i.typeがカラーになりますが:

 
function IsAttributeSupported(tagName, attrName) { 
    var val = false; 
    // Create element 
    var input = document.createElement(tagName); 
    // Check if attribute (attrName) 
    // attribute exists 
    if (attrName in input) { 
     val = true; 
    } 
    // Delete "input" variable to 
    // clear up its resources 
    delete input; 
    // Return detected value 
    return val; 
} 

if (!IsAttributeSupported("input", "placeholder")) { 
    // Do something special here 
    alert("placeholder attribute is not supported"); 
} 

が、それはあなたがこれを使用することができ、フォームフィールドで

+4

+1ですが、 'delete input'は効果がありません。オブジェクト内のプロパティを削除するには 'delete'しか使用できません。 – pimvdb

+1

特定の入力 'type'がサポートされているかどうか、' placeholder'のような属性ではないかという質問には答えません。 – Rahul

0

私は受け入れられた答えにコメントしますが、特定の評判がなければ私を許可しないので、私はこのようにします。ブラウザが認識できない入力タイプになった場合、自動的にデフォルトの 'テキスト'入力になります。だから、私は答えのJSは不要です(あなたは 'テキスト'以外のデフォルトにしたい場合を除き)

関連する問題