JQuery ialah satu lagi perpustakaan Javascript yang sangat baik selepas prototaip. Ia ialah pustaka js ringan yang serasi dengan CSS3 dan pelbagai penyemak imbas (IE 6.0+, FF1.5+, Safari 2.0+, Opera 9.0+ dan versi seterusnya tidak akan menyokong pelayar IE6/ 7/8 lagi). jQuery membolehkan pengguna memproses HTML dengan lebih mudah (aplikasi di bawah Standard Universal Markup Language), acara, melaksanakan kesan animasi dan menyediakan interaksi AJAX untuk tapak web dengan mudah. Satu lagi kelebihan besar jQuery ialah dokumentasinya sangat lengkap dan pelbagai aplikasinya dijelaskan secara terperinci Terdapat juga banyak pemalam matang untuk dipilih. jQuery boleh memisahkan kod dan kandungan HTML halaman HTML pengguna, maksudnya, tidak perlu memasukkan sekumpulan js dalam HTML untuk memanggil arahan.
jQuery ialah perpustakaan javascript yang serasi dengan berbilang penyemak imbas Konsep teras ialah kurangkan tulis, buat lebih banyak (tulis kurang, buat lebih banyak). jQuery telah dikeluarkan oleh American John Resig di barcamp di New York pada Januari 2006. Ia menarik ramai pakar JavaScript dari seluruh dunia untuk menyertai, dan telah dibangunkan oleh pasukan yang diketuai oleh Dave Methvin. Hari ini, jQuery telah menjadi perpustakaan JavaScript yang paling popular, digunakan oleh lebih daripada 55% daripada 10,000 tapak web yang paling banyak dikunjungi di dunia.
jQuery adalah percuma, sumber terbuka dan dilesenkan di bawah lesen MIT. Reka bentuk sintaks jQuery boleh menjadikan pembangunan lebih mudah, seperti mengendalikan objek dokumen, memilih elemen DOM, mencipta kesan animasi, pengendalian acara, menggunakan Ajax dan fungsi lain. Selain itu, jQuery menyediakan API untuk pembangun menulis pemalam. Penggunaan modularnya membolehkan pembangun membangunkan halaman web statik atau dinamik yang berkuasa dengan mudah.
jQuery, seperti namanya, ialah JavaScript dan Query, iaitu perpustakaan yang membantu pembangunan JavaScript.
Sejarah
Sekitar tahun 1992, sebuah syarikat bernama Nombas membangunkan sesuatu yang dipanggil C-subtraction (C-tolak-tolak , Cmm untuk pendek) bahasa skrip terbenam. Idea di sebalik Cmm adalah mudah: bahasa skrip yang cukup berkuasa untuk menggantikan makro, sambil kekal cukup serupa dengan C (dan C++) yang pembangun boleh mempelajarinya dengan cepat. Bahasa skrip telah digabungkan dalam perisian kongsi yang dipanggil CEnvi, yang buat pertama kalinya menunjukkan kepada pembangun kuasa bahasa tersebut.
Nombas akhirnya menukar nama Cmm kepada ScriptEase kerana bahagian terakhir (mm) kedengaran terlalu negatif dan huruf C adalah "menakutkan".
Apabila Netscape Navigator mula menonjol, Nombas membangunkan versi CEnvi yang boleh dibenamkan dalam halaman web. Percubaan awal ini dipanggil Halaman Espresso, dan ia mewakili bahasa sebelah pelanggan pertama yang digunakan di World Wide Web. Nombas tidak tahu bahawa konsepnya akan menjadi asas penting World Wide Web.
Apabila melayari Internet menjadi semakin popular, keperluan untuk membangunkan skrip sebelah pelanggan secara beransur-ansur meningkat. Pada masa ini, kebanyakan pengguna Internet disambungkan ke rangkaian hanya melalui modem 28.8 kbit/s, walaupun halaman web terus menjadi lebih besar dan lebih kompleks. Apa yang membuatkan pengguna lebih sengsara ialah hanya untuk pengesahan kesahihan bentuk yang mudah, ia memerlukan berbilang interaksi pergi balik dengan pelayan. Bayangkan bahawa pengguna mengisi borang, mengklik butang hantar, menunggu selama 30 saat untuk diproses, dan kemudian melihat mesej yang memberitahu anda bahawa anda terlupa mengisi medan yang diperlukan.
Netscape, yang berada di barisan hadapan dalam inovasi teknologi pada masa itu, mula serius mempertimbangkan untuk membangunkan bahasa skrip sebelah pelanggan untuk menyelesaikan masalah pemprosesan mudah.
Brendan Eich, yang bekerja di Netscape pada masa itu, mula membangunkan bahasa skrip yang dipanggil LiveScript untuk Netscape Navigator 2.0, yang akan dikeluarkan pada tahun 1995. Tujuan pada masa itu adalah untuk menggunakannya dalam pelayar dan pelayan (ia pada asalnya akan dipanggil LiveWire) sebelah menggunakannya. Netscape dan Sun menyelesaikan pelaksanaan LiveScript tepat pada masanya.
Sejurus sebelum Netscape Navigator 2.0 hampir dikeluarkan secara rasmi, Netscape menamakannya sebagai JavaScript untuk memanfaatkan kata kunci Internet Java. Pertaruhan Netscape membuahkan hasil, dan sejak itu JavaScript telah menjadi komponen penting Internet.
Oleh kerana JavaScript 1.0 sangat berjaya, Netscape mengeluarkan versi 1.1 dalam Netscape Navigator 3.0. Kebetulan Microsoft memutuskan untuk masuk ke penyemak imbas pada masa itu, mengeluarkan IE 3.0 dengan klon JavaScript yang dipanggil JScript (dinamakan sedemikian untuk mengelakkan potensi pertikaian pelesenan dengan Netscape). Kemasukan Microsoft ke dalam dunia pelayar web, walaupun terkenal, juga merupakan langkah penting dalam evolusi bahasa JavaScript.
Selepas Microsoft masuk, terdapat 3 versi JavaScript berbeza yang wujud pada masa yang sama: JavaScript dalam Netscape Navigator 3.0, JScript dalam IE dan ScriptEase dalam CEnvi. Tidak seperti C dan bahasa pengaturcaraan lain, JavaScript tidak mempunyai standard yang menyatukan sintaks atau cirinya, dan 3 versi berbeza ini menyerlahkan masalah ini. Memandangkan kebimbangan dalam industri meningkat, adalah jelas bahawa penyeragaman bahasa ini adalah penting.
Pada Januari 2006, versi pertama jQuery telah dikeluarkan, yang telah lebih daripada 10 tahun yang lalu (nota: titik masa ini adalah pada masa penerbitan). Walaupun selepas sekian lama, ia masih membuatkan orang jatuh cinta pada pandangan pertama dengan gaya pengaturcaraan yang ringkas dan fleksibel. Dalam artikel ini, kami akan memberitahu sejarah pembangunan jQuery supaya pembaca dapat mengetahui lebih lanjut tentang jQuery.
Semasa jQuery sedang berkembang pesat, beberapa pengeluar besar turut meminati peluang perniagaan. Pada September 2009, Microsoft dan Nokia secara rasmi mengumumkan sokongan untuk perpustakaan jQuery sumber terbuka Selain itu, Microsoft juga mengumumkan bahawa mereka akan menggunakan jQuery sebagai sebahagian daripada set alat Visual Studio. Ia akan menyediakan ciri termasuk petua pintar jQuery, coretan kod, dokumentasi sampel dan banyak lagi. Microsoft dan Nokia akan menjadi ahli pengguna jQuery untuk masa yang lama, dan ahli lain termasuk Google, Intel, IBM, Intuit dan syarikat lain.
Pada Januari 2009, jQuery versi 1.3 telah dikeluarkan Ia menggunakan enjin pemilih baharu Sizzle, yang secara menyeluruh mengatasi kelajuan pertanyaan rangka kerja JavaScript lain daripada jenis yang sama dalam pelbagai penyemak imbas, dan prestasi perpustakaan program juga telah banyak. bertambah baik. Perubahan kedua dalam versi ini adalah untuk menyediakan kaedah live() Anda boleh menggunakan kaedah live() untuk mengikat acara kepada elemen semasa dan akan datang Sebelum versi 1.3, jika anda ingin mengikat acara kepada elemen yang ditambahkan pada masa hadapan, anda perlu menggunakan pemalam livequery, dan dalam versi 1.3, anda boleh menggunakan kaedah live() secara langsung. Pada Ogos 2005, John Resig mencadangkan untuk menambah baik perpustakaan "Kelakuan" Prototaip, jadi dia menerbitkan ideanya di blognya dan menggunakan tiga contoh untuk menggambarkannya.
Idea John pada masa itu adalah mudah: dia mendapati sintaks ini lebih mudah daripada pustaka JavaScript sedia ada. Namun apa yang tidak disangkanya ialah artikel ini menarik perhatian meluas dalam industri sebaik sahaja ia diterbitkan. Jadi John mula berfikir secara serius tentang perkara ini (menulis perpustakaan JavaScript dengan sintaks yang lebih mudah), sehingga 14 Januari 2006, John secara rasmi mengumumkan bahawa dia akan mengeluarkan perpustakaannya sendiri di bawah nama jQuery. Apa yang diikuti ialah perkembangan pesat jQuery.
Ogos 2006, versi stabil pertama jQuery, dan sudah menyokong pemilih CSS, pengendalian acara dan interaksi AJAX.
Pada Julai 2007, versi jQuery 1.1.3 telah dikeluarkan, perubahan versi kecil ini termasuk peningkatan ketara dalam kelajuan pelaksanaan enjin pemilih jQuery. Bermula daripada versi ini, prestasi jQuery mencapai tahap perpustakaan JavaScript yang serupa seperti Prototaip, Mootools dan Dojo. Pada bulan September tahun yang sama, jQuery versi 1.2 telah dikeluarkan, yang mengalih keluar sokongan untuk pemilih XPath kerana ia telah menjadi berlebihan berbanding dengan sintaks CSS. Versi ini membolehkan penyesuaian kesan yang lebih fleksibel, dan juga menjadikan pembangunan pemalam lebih mudah dengan bantuan acara ruang nama baharu. Pada masa yang sama, projek UI jQuery turut dilancarkan Suite baharu ini dikeluarkan sebagai projek penggantian untuk pemalam Antara Muka yang pernah popular tetapi ketinggalan zaman. UI jQuery termasuk sejumlah besar widget yang dipratentukan, serta satu set alat untuk membina elemen lanjutan (seperti seret dan lepas, pengisihan).
Pada Februari 2010, jQuery versi 1.4.2 telah dikeluarkan, yang menambah dua kaedah baharu tentang perwakilan acara: delegate() dan undelegate(). delegate() digunakan untuk menggantikan kaedah live() dalam 1.3.2. Kaedah ini lebih mudah daripada live(), dan juga boleh mencapai fungsi menambah acara secara dinamik. Contohnya, ikat peristiwa tuding pada setiap td jadual
Ciri
1 Kesan khas dinamik
2 AJAX
3. Dilanjutkan melalui pemalam
4. Alat Mudah - Contohnya, pertimbangan versi penyemak imbas
5 Peningkatan progresif
6 Panggilan berantai
7 . 0+, Firefox2+, Safari2.0+, Chrome1.0+ (sokongan untuk Internet Explorer6,7,8 telah dibatalkan pada 2.0.0)
Versi bersejarah
jQuery 1.0
(Ogos 2006): Versi pertama perpustakaan yang stabil, yang sudah mempunyai sokongan untuk pemilih CSS, pengendalian acara dan sokongan Teguh AJAX untuk interaksi .
jQuery 1.1
(Januari 2007): Versi ini memudahkan API dengan ketara. Banyak kaedah yang kurang biasa digunakan digabungkan, mengurangkan bilangan kaedah yang perlu dikuasai dan dijelaskan.
jQuery 1.1.3
(Julai 2007): Keluaran kecil ini termasuk peningkatan ketara pada kelajuan pelaksanaan enjin pemilih jQuery . Bermula daripada versi ini, prestasi jQuery mencapai tahap perpustakaan JavaScript yang serupa seperti Prototaip, Mootools dan Dojo.
jQuery 1.2
(September 2007): Versi ini mengalih keluar sokongan untuk pemilih XPath kerana ia telah menjadi berlebihan. Versi ini menyokong penyesuaian kesan yang lebih fleksibel dan menjadikan pembangunan pemalam lebih mudah dengan acara ruang nama baharu.
UI jQuery (September 2007): Suite pemalam baharu ini dikeluarkan sebagai projek penggantian pemalam Antara Muka yang popular tetapi ketinggalan zaman. UI jQuery termasuk sejumlah besar widget yang dipratentukan, serta set alat untuk membina elemen lanjutan seperti elemen antara muka seret dan lepas.
jQuery 1.2.6
(Mei 2008): Versi ini terutamanya memindahkan fungsi pemalam Dimensi popular yang dibangunkan oleh Brandon Aaron ke dalam perpustakaan teras.
jQuery 1.3
(Januari 2009): Versi ini menggunakan enjin pemilih baharu Sizzle, dan prestasi perpustakaan telah dipertingkatkan dengan ketara . Versi ini secara rasmi menyokong ciri perwakilan acara.
jQuery 1.3.2
(Februari 2009): Peningkatan versi kecil ini meningkatkan lagi prestasi perpustakaan, seperti dipertingkatkan: visible/ The underlying mekanisme pemprosesan :pemilih tersembunyi dan kaedah .height()/.width(). Selain itu, ia juga menyokong elemen pertanyaan untuk dikembalikan dalam susunan dokumen.
jQuery 1.4
(14 Januari 2010): Pangkalan kod telah ditulis semula secara dalaman dan beberapa spesifikasi gaya mula diwujudkan. Fail core.js lama dibahagikan kepada attribute.js, css.js, data.js, manipulation.js, traversing.js dan queue.js pemisahan logik CSS dan atribut.
Perubahan penting:
1. Ajax menulis semula
Modul Ajax telah ditulis semula sepenuhnya. Objek jXHR baharu ditambah untuk menyediakan superset yang konsisten bagi XMLHttpRequest terbina dalam dalam pelayar yang berbeza. Untuk mekanisme pengangkutan selain XMLHttpRequest, seperti permintaan JSONP, objek jXHR juga boleh diproses. (Untuk butiran, sila rujuk: dokumen jQuery.ajax)
Di samping itu, kebolehskalaan sistem dipertingkatkan dengan sangat baik, dan pelbagai pemproses data, penapis dan mekanisme penghantaran boleh dilampirkan, yang memudahkan pembangunan baharu pemalam Ajax.
2. Objek tertunda
Objek tertunda (Objek Tertunda, objek jQuery.Deferred) ialah objek utiliti boleh rantai yang melaksanakan antara muka Promise dan boleh didaftarkan dalam baris gilir panggilan balik Panggilan balik berbilang, memanggil baris gilir panggil balik dan memajukan status kejayaan atau kegagalan mana-mana fungsi segerak/tak segerak. Seperti yang dijelaskan dalam Menggunakan Tertunda dalam jQuery 1.5, hasilnya ialah jQuery boleh memisahkan logik yang bergantung pada hasil tugas (peristiwa) daripada tugas itu sendiri. Ini sebenarnya bukan baru dalam JavaScript, Mochikit dan Dojo telah dilaksanakan untuk beberapa lama. Memandangkan modul Ajax jQuery 1.5 menggunakan objek tertunda terbina dalam, atur cara Ajax yang ditulis melalui jQuery akan mendapat fungsi ini secara automatik.
Pembangun kini boleh menggunakan nilai pulangan yang tidak tersedia dengan serta-merta (seperti hasil pemulangan permintaan Ajax tak segerak) dan, buat kali pertama, boleh melampirkan berbilang pengendali acara.
Sebagai contoh, menggunakan API Ajax dalaman jQuery baharu anda boleh melaksanakan kod berikut:
// Berikan pengendali serta-merta selepas membuat permintaan,// dan ingat objek jxhr untuk permintaan ini var jxhr = $.ajax({ url: "example.php" }) .success(function() { alert("berjaya"); }) .error(function() { alert("error"); }) (function() { alert("complete"); });// lakukan kerja lain di sini ... // Tetapkan satu lagi fungsi penyiapan untuk permintaan di atas jxhr.complete(function(){ alert("second complete") ; });
Selain itu, anda boleh membangunkan objek tertunda anda sendiri menggunakan jQuery.Deferred. Lihat: Dokumentasi Objek Tertunda untuk butiran lanjut.
3. jQuery.sub()
jQuery 1.5 menyediakan cara untuk mencipta dan mengubah suai salinan jQuery. Ia boleh digunakan untuk menambah kaedah yang tidak terdedah kepada dunia luar, atau untuk mentakrifkan semula kaedah tertentu jQuery untuk menyediakan fungsi baharu, atau untuk menyediakan enkapsulasi yang lebih baik dan mengelakkan konflik ruang nama. Sudah tentu, ia juga boleh digunakan untuk membangunkan pemalam, tetapi Resig amat mengesyorkan mempertimbangkan kilang widget UI jQuery sebelum membangunkan pemalam.
Perlu diperhatikan bahawa subfungsi tidak menyediakan pengasingan sebenar, dan semua kaedah, data dan panggilan masih bergantung pada jQuery sendiri untuk menyokongnya.
4. Prestasi traversal yang dipertingkatkan
Dalam versi baharu, prestasi beberapa fungsi traversal yang biasa digunakan seperti .children(), .prev(), dan .next() telah ketara. bertambah baik.
5. Sistem pembangunan dalaman
John Resig juga menyebut secara khusus dua perubahan dalam sistem pembangunan dalaman pasukan jQuery: Pertama, sistem Java/Rhino lama telah digantikan dengan Node.js pada bahagian pelayan, membolehkan pasukan menumpukan pada perubahan baharu dalam JavaScript persekitaran; kedua, pengoptimum kod saya bertukar daripada Google Closure kepada UglifyJS, dan kesan mampatan alat baharu itu sangat memuaskan.
Cara menggunakan
jQuery boleh dimuat turun dan digunakan, dan terdapat dua versi jQuery tersedia untuk dimuat turun
Versi pengeluaran - untuk digunakan pada tapak web sebenar, telah diperkemas dan dimampatkan.
Versi pembangunan - digunakan untuk ujian dan pembangunan (kod tidak dimampatkan, boleh dibaca)
Perbandingan sebelum dan selepas pemampatan jQuery versi 1.8.0
Mekanisme Pemalam
Pemalam rasmi untuk jQuery ialah jQuery UI. Pembangun boleh sewenang-wenangnya memanjangkan perpustakaan fungsi jQuery atau membangunkan komponen UI mengikut keperluan mereka sendiri. Sudah terdapat puluhan ribu pemalam jQuery di Internet, meliputi pelbagai keperluan. Contohnya, bantuan Ajax, jadual data, senarai dinamik, alat XML, seret dan lepas, pemprosesan kuki, lapisan pop timbul, dsb. Dokumentasi jQuery sangat lengkap, dan pelbagai aplikasi juga diterangkan secara terperinci Terdapat juga banyak pemalam matang untuk dipilih, seperti ComponentOne Studio untuk ASP NET Wijmo.
Dengan pemalam jQuery di dalam. proses pembinaan tapak web Kadar penggunaan sentiasa meningkat, jadi adalah perlu untuk mengikuti rentak masa dan membangunkan beberapa coretan pemalam/kod baharu untuk menyatukan dan menambah baik pengalaman pengguna bahagian hadapan dan meningkatkan pengalaman pengguna ke tahap yang baharu . Ini termasuk Flat jQuery Price Slider, Gmaps jQuery Map Plugin, FormChimp - MailChimp Ajax plugin untuk jQuery, dsb.
Kawalan
Kawalan jQuery Gantt ialah kawalan kaya ciri berdasarkan HTML5/jQuery asli, yang benar-benar merentas platform dan berfungsi pada banyak peranti dan penyemak imbas Operasi lancar .
Gunakan penjadualan terbina dalam, kebergantungan dan fungsi lain dalam carta Gantt projek untuk menggambarkan senarai tugasan hierarki.
Gunakan carta Gantt sumber untuk melaksanakan paparan penggunaan sumber.
Menggunakan jQuery berasaskan API atau MVC berasaskan API boleh membantu anda memasang carta Gantt dengan mudah dan mempercepatkan aplikasi anda.
Boleh digunakan dengan corak jQuery yang popular seperti KnockOut(KO), jQuery.tmpl, dsb.