Kerjaya jQuery - Kaedah noConflict()
Contoh
Gunakan kaedah noConflict() untuk menetapkan nama penggunaan semula untuk variabel jQuery:
var jq=$.noConflict();
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