Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >konflik kaedah pemuatan awal jquery
Untuk pembangun bahagian hadapan, jQuery telah menjadi alat yang sangat diperlukan, saya percaya setiap orang mempunyai tabiat dan kaedah penggunaan mereka sendiri. Walau bagaimanapun, anda juga mungkin menghadapi beberapa masalah di tempat kerja Hari ini saya akan bercakap tentang cara menyelesaikan konflik kaedah pemuatan awal jQuery.
Apabila menggunakan jQuery untuk membina tapak web, kami biasanya memperkenalkan fail perpustakaan jQuery apabila halaman dimuatkan dan melakukan operasi pengenalan jQuery awal. Walau bagaimanapun, dalam beberapa kes, kami akan mendapati bahawa sesetengah komponen atau pemalam pada halaman tidak boleh beroperasi dengan betul, dan konsol melaporkan ralat berikut:
Uncaught TypeError: $(...).methodName is not a function
Ini kerana terdapat konflik dalam kaedah permulaan fail perpustakaan jQuery, mengakibatkan ketidakupayaan untuk memanggilnya dengan betul.
jQuery.noConflict() ialah kaedah yang disediakan oleh jQuery yang boleh menggunakan dua kaedah untuk menghapuskan konflik yang berbeza perpustakaan jQuery. Kami hanya perlu memperkenalkan perpustakaan jQuery pertama ke dalam halaman, kemudian panggil kaedah noConflict() untuk menetapkannya kepada pembolehubah dan merujuk komponen, seperti berikut:
<script src="https://code.jquery.com/jquery-3.4.1.js"></script> <script> var $j = jQuery.noConflict(); $j(document).ready(function(){ $j('#example').datepicker(); }); </script>
Kaedah ini sesuai untuk dua skrip jQuery yang memerlukannya pada masa yang sama Situasi panggilan, tetapi perlu diperhatikan bahawa jika berbilang komponen dirujuk dalam fail js yang berbeza, masalah menggunakan kaedah noConflict() beberapa kali mungkin berlaku.
Menggunakan fungsi laksana sendiri boleh mengasingkan kod dalam skop yang berasingan supaya kod tidak boleh menjejaskan kod lain. Dengan menggunakan fungsi laksana sendiri, kita boleh mengehadkan kaedah dalam fail perpustakaan jQuery kepada skop fungsi, contohnya:
(function($){ $(document).ready(function(){ $('#example').datepicker(); }); })(jQuery);
Ini memastikan bahawa $ dalam fail perpustakaan jQuery hanya wujud dalam diri sendiri. -melaksanakan fungsi, Tidak akan bercanggah dengan fail perpustakaan lain.
Dalam fail perpustakaan jQuery, $() ialah jalan pintas untuk jQuery, yang juga merupakan punca masalah konflik. Untuk mengelakkan konflik, kita boleh menggunakan jQuery() dan bukannya $(), sebagai contoh:
jQuery(document).ready(function(){ jQuery('#example').datepicker(); });
Kaedah ini bukan sahaja dapat mengelakkan masalah konflik, tetapi juga menjadikan kod lebih mudah dibaca dan difahami.
Apabila menggunakan jQuery untuk membangunkan tapak web, kita perlu memberi perhatian khusus kepada konflik kaedah permulaannya. Masalah ini boleh dielakkan dengan berkesan dengan menggunakan jQuery.noConflict(), fungsi laksana sendiri, atau menggunakan jQuery() dan bukannya $(). Pada masa yang sama, semasa pembangunan, kita harus memberi perhatian untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod.
Atas ialah kandungan terperinci konflik kaedah pemuatan awal jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!