ホームページ > ウェブフロントエンド > CSSチュートリアル > jQuery の .css() はブラウザのプレフィックスを自動的に処理しますか?

jQuery の .css() はブラウザのプレフィックスを自動的に処理しますか?

DDD
リリース: 2024-11-11 18:25:03
オリジナル
971 人が閲覧しました

Does jQuery's .css() Automatically Handle Browser Prefixes?

jQuery は .css() を使用してブラウザー プレフィックスを自動的に処理しますか?

jQuery の .css() メソッドは、CSS プロパティを操作するプロセスを簡素化します。しかし、一般的な疑問が生じます: ブラウザ固有のベンダー プレフィックスは自動的に適用されますか?

答え:

以前のバージョンの jQuery では、ベンダー プレフィックスの追加は自動的に処理されませんでした。ただし、jQuery 1.8.0 のリリースで、この機能が導入されました。したがって、jQuery の .css() メソッドは、CSS プロパティのベンダー プレフィックスをシームレスに処理できるようになりました。

開発者への影響:

このプレフィックスの自動処理により、手動で追加する必要があります。ただし、次の点に注意することが重要です:

  • 古いバージョンの jQuery を使用している場合は、ベンダー プレフィックスを自分で実装するか、jQuery の .cssHooks() メソッドを使用する必要があります。
  • カスタム CSS プロパティでは、ベンダー プレフィックスを手動で追加する必要がある場合があります。

以前の jQuery バージョンのコード例:

次のコードは、jQuery の使用方法を示しています。以前のバージョンでベンダー プレフィックスを追加する .cssHooks():

(function($) {
  function styleSupport(prop) {
    var prefixes = ['Moz', 'Webkit', 'O', 'ms'],
        div = document.createElement('div');

    if (prop in div.style) {
      supportedProp = prop;
    } else {
      for (var i = 0; i < prefixes.length; i++) {
        vendorProp = prefixes[i] + capProp;
        if (vendorProp in div.style) {
          supportedProp = vendorProp;
          break;
        }
      }
    }

    div = null;
    $.support[prop] = supportedProp
    return supportedProp
  }

  var myCssPropName = styleSupport("myCssPropName");

  if (myCssPropName &amp;&amp; myCssPropName !== 'myCssPropName') {
    $.cssHooks["myCssPropName"] = {
      get: function(elem, computed, extra) {
        return $.css(elem, myCssPropName);
      },
      set: function(elem, value) {
        elem.style[myCssPropName] = value;
      }
    };
  }
})(jQuery);
ログイン後にコピー

以上がjQuery の .css() はブラウザのプレフィックスを自動的に処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート