9

私のページを実行しているブラウザが「html5プレースホルダー」を処理できるかどうかを確認したい

次のJavaScriptチェックを追加できることはわかっています。

!Modernizr.input.placeholder

しかし、1回のチェックのためだけにライブラリをインポートする価値はありますか?

また、modernizrは私のためにそれをどのように行いますか(つまり、カバーの下でどのように実装されますか)?

4

4 に答える 4

9

サポートを確認したい場合placeholder、あなたがする必要があるのは;

var placeholderSupport = "placeholder" in document.createElement("input");

そして、あなたの他の質問に答えるために; いいえ、JSの1行のModernizrライブラリ全体を含める意味はまったくありません(Modernizrは1000行以上です...図を参照してください:))*

*はい、縮小されていませんが、コンセプトは残っています

于 2011-11-04T13:49:29.350 に答える
7

たとえば、「入力属性」を選択してビルドを生成するだけで、modernizrから必要なものを取得できます。

http://www.modernizr.com/download/

于 2011-11-04T13:52:36.463 に答える
3

オープンソースです。読んでください。

Modernizr['input'] = (function( props ) {
  for ( var i = 0, len = props.length; i < len; i++ ) {
    attrs[ props[i] ] = !!(props[i] in inputElem);
  }
  return attrs;
})(('autocomplete autofocus list placeholder max min ' +
    'multiple pattern required step').split(' '));
于 2011-11-04T13:47:51.570 に答える
1

これを見つけました:http://davidwalsh.name/html5-placeholder

コード:

function hasPlaceholderSupport() {
  var input = document.createElement('input');
  return ('placeholder' in input);
}

リンクをクリックすることによるフォールバックソリューションもあります

于 2011-11-04T13:48:39.930 に答える