Pemalam jQuery biasanya dibahagikan kepada dua kategori.
Saya secara ringkas mempelajari pembangunan pemalam jQuery beberapa waktu lalu dan membangunkan dua pemalam mudah Berikut ialah ringkasan ringkas model pembangunan dua pemalam.
Pemalam berasaskan pemilih
Model pembangunan biasa adalah seperti berikut:
(function($, window, undefined) { $.fn.PluginName = function(opts) { var defaults = { // 插件自定义选项的默认值 }; // 以用户的自定义选项覆盖默认选项 var options = $.extend(defaults, opts || {}); return this.each(function() { // 让插件支持链式操作 // 在这里编写插件功能代码 }); }; })(jQuery, window);
Pertama, cipta fungsi laksana sendiri tanpa nama dengan parameter formal $ , tetingkap dan jQuery dan tetingkap parameter yang tidak ditentukan serta sebenar.
Hah? Mengapa tiada parameter sebenar yang sepadan diluluskan untuk tidak ditentukan? Ini adalah helah kecil Memandangkan nama pembolehubah yang tidak ditentukan mungkin telah diberikan nilai dalam kod JavaScript di tempat lain dan kehilangan makna sebenar, jadi kami hanya tidak memasukkan parameter ini di sini untuk memastikan bahawa ia berada dalam fungsi laksana sendiri tanpa nama Sungguh tidak pasti.
Selepas jQuery dihantar masuk, ia sepadan dengan $. Ini memastikan bahawa $ yang dipanggil dalam pemalam mestilah jQuery dan bukan perpustakaan seperti Prototaip.
Kaedah panggilan jenis pemalam ini biasanya dalam bentuk $(selector).PluginName();.
Contoh khusus sedemikian boleh didapati di https://github.com/libuchao/KTwitter
Pemalam berasaskan bukan pemilih
Memandangkan jenis pemalam ini tidak bergantung pada pemilih, tiada operasi rantaian. Model pembangunan umum adalah seperti berikut:
(function($, window, undefined) { $.PluginName = function(opts) { var defaults = { // 插件自定义选项的默认值 }; // 以用户的自定义选项覆盖默认选项 var options = $.extend(defaults, opts || {}); // 在这里编写插件功能代码 }; })(jQuery, window);
Borang panggilan jenis pemalam ini biasanya $(selector).PluginName();.