Pusat jQuery - Metode noConflict()

Contoh

Gunakan metode noConflict() untuk menetapkan nama baru bagi variabel jQuery:

var jq=$.noConflict();

Coba sendiri

Definisi dan penggunaan

Metode noConflict() menyerahkan kendali variabel $ kepada jQuery.

Metode ini melepaskan kendali jQuery terhadap variabel $.

Metode ini juga dapat digunakan untuk menetapkan nama khusus bagi variabel jQuery.

Petunjuk:Berguna saat pustaka JavaScript lain menggunakan $ untuk fungsi nya.

Syarat

jQuery.noConflict(removeAll)
Parameter Deskripsi
removeAll Bilangan bulat. Menandai apakah memungkinkan untuk sepenuhnya mengembalikan variabel jQuery.

Keterangan

Banyak pustaka JavaScript menggunakan $ sebagai nama fungsi atau variabel, jQuery punya nya. Dalam jQuery, $ hanya seorang alias untuk jQuery, jadi bahkan tanpa menggunakan $, semua fungsi tetap dapat berjalan. Jika kita perlu menggunakan pustaka JavaScript lain selain jQuery, kita dapat kembalikan kendali melalui panggilan $.noConflict():

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

Dapat digunakan bersamaan dengan metode .ready() untuk memberi nama alternatif bagi 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 $ dari jQuery
  });
  // Kode penggunaan $ dari pustaka lain
</script>

Di samping itu, dengan mengirimkan parameter true ke metode ini, kita dapat menyerahkan kendali $ dan jQuery kembali ke pustaka asli. Harap berhati-hati sebelum menggunakan!

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

Contoh

Contoh 1

Pindahkan objek yang diacu $ kembali ke objek asli:

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

Contoh 2

Kembalikan penggunaan alias $, buat dan jalankan fungsi, dalam lingkungan fungsi ini $ masih digunakan sebagai alias untuk jQuery. Objek $ asli tidak berlaku di dalam fungsi ini. Fungsi ini sangat efektif untuk plugin yang tidak menggantung pustaka lain:

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

Contoh 3

Dapat digabungkan jQuery.noConflict() dengan ready pengecut untuk membuat kode lebih padat:

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

Contoh 4

Buat alias baru untuk menggunakan objek jQuery dalam pustaka mendatang:

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

Contoh 5

Pindahkan seluruh jQuery ke namespace baru:

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

Hasil:

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