Kerjaya jQuery - Kaedah noConflict()

Contoh

Gunakan kaedah noConflict() untuk menetapkan nama penggunaan semula untuk variabel jQuery:

var jq=$.noConflict();

Cuba sendiri

Pengertian dan penggunaan

Kaedah noConflict() menyerahkan kawalan variabel $ kepada jQuery.

Kaedah ini melepaskan kawalan jQuery terhadap variabel $.

Kaedah ini juga boleh digunakan untuk menetapkan nama penggunaan semula untuk variabel jQuery.

Petikan:Berguna untuk pustaka JavaScript lain yang menggunakan $ untuk fungsi mereka.

Sintaks

jQuery.noConflict(removeAll)
Parameter Penerangan
removeAll Bilangan Boolean. Menandakan sama ada dibenarkan untuk mengekalkan semula variabel jQuery sepenuhnya.

Pengertian

Banyak pustaka JavaScript menggunakan $ sebagai nama fungsi atau variable, jQuery juga demikian. Dalam jQuery, $ hanya seorang alternatif kepada jQuery, jadi pasti semua fungsi akan tetap berfungsi walaupun tanpa $, jika kami perlu menggunakan pustaka JavaScript lain bukan jQuery, kami boleh memanggil $.noConflict() untuk mengembalikan kawalan kepada pustaka itu:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Kode penggunaan $ daripada pustaka lain
</script>

Boleh digunakan bersamaan dengan kaedah .ready() untuk memberi nama alternatif kepada objek jQuery, teknik ini sangat efektif:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // Kode penggunaan $ daripada jQuery
  });
  // Kode penggunaan $ daripada pustaka lain
</script>

Di samping itu, dengan mengirimkan parameter true kepada kaedah ini, kita boleh meletakkan kawalan $ dan jQuery kembali kepada pustaka asal. Perhatikan dengan jujur sebelum guna!

Ini adalah versi yang lebih ekstrim daripada metode noConflict biasa, karena ini akan menedefinikan ulang jQuery sepenuhnya. Ini biasanya digunakan dalam situasi yang ekstrim, seperti ingin menggabungkan jQuery ke lingkungan yang sangat konflik. Perhatian: Pemanggilan metode ini dapat mengakibatkan plugin gagal beroperasi.

Contoh

Contoh 1

Pindahkan objek yang diambil oleh $ ke objek asli:

jQuery.noConflict();
jQuery("div p").hide();	// Penggunaan jQuery
$("content").style.display = "none";	// Penggunaan $ dari pustaka lain

Contoh 2

Kembalikan penggunaan alias $, buat dan jalankan sebuah fungsi, di lingkungan fungsi ini $ masih digunakan sebagai alias untuk jQuery. Objek $ asli adalah tak berlaku. Fungsi ini sangat efektif untuk sebagian besar plugin yang tidak mengandung pustaka lain:

jQuery.noConflict();
(function($) { 
  $(function() {
    // Kod yang menggunakan $ sebagai alias jQuery
  });
})(jQuery);
... // Kod pustaka lain yang menggunakan $ sebagai alias

Contoh 3

Dapat menggabungkan jQuery.noConflict() dengan shorthand ready untuk membuat kode lebih padat:

jQuery.noConflict()(function()
    // Kod yang menggunakan jQuery
});
... // Kod pustaka lain yang menggunakan $ sebagai alias

Contoh 4

Buat seorang alias baru untuk menggunakan objek jQuery dalam pustaka mendatang:

var j = jQuery.noConflict();
j("div p").hide();	// Kod berdasarkan jQuery
$("content").style.display = "none";	// Kod $() berdasarkan pustaka lain

Contoh 5

Mengalihkan sepenuhnya jQuery ke ruang nama baru:

var dom = {};
dom.query = jQuery.noConflict(true);

Hasil:

dom.query("div p").hide();	// Kod jQuery yang baru
$("content").style.display = "none";	// Kod $() dari pustaka lain
jQuery("div > p").hide();	// Versi kod jQuery lain