Rumah >hujung hadapan web >tutorial css >Adakah .css() jQuery Mengendalikan Awalan Penyemak Imbas Secara Automatik?

Adakah .css() jQuery Mengendalikan Awalan Penyemak Imbas Secara Automatik?

DDD
DDDasal
2024-11-11 18:25:03996semak imbas

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

Adakah jQuery Mengendalikan Awalan Penyemak Imbas Secara Automatik dengan .css()?

Kaedah .css() jQuery memudahkan proses memanipulasi sifat CSS. Tetapi persoalan biasa timbul: adakah ia menggunakan awalan vendor khusus penyemak imbas secara automatik?

Jawapan:

Dalam versi awal jQuery, penambahan awalan vendor tidak dikendalikan secara automatik. Walau bagaimanapun, dengan keluaran jQuery 1.8.0, fungsi ini telah diperkenalkan. Oleh itu, kaedah .css() jQuery kini dengan lancar mengendalikan awalan vendor untuk sifat CSS.

Implikasi untuk Pembangun:

Pengendalian awalan automatik ini memudahkan kod anda dengan menghapuskan perlu menambahkannya secara manual. Walau bagaimanapun, adalah penting untuk ambil perhatian perkara berikut:

  • Jika anda menggunakan versi jQuery yang sudah lapuk, anda perlu melaksanakan sendiri awalan vendor atau menggunakan kaedah .cssHooks() jQuery.
  • Sifat CSS tersuai mungkin memerlukan penambahan manual vendor awalan.

Contoh Kod untuk Versi jQuery Terdahulu:

Kod berikut menunjukkan cara menggunakan .cssHooks() jQuery untuk menambah awalan vendor dalam versi terdahulu:

(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);

Atas ialah kandungan terperinci Adakah .css() jQuery Mengendalikan Awalan Penyemak Imbas Secara Automatik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn