Bagaimana jQuery UI berfungsi


UI jQuery mengandungi banyak widget yang mengekalkan keadaan, jadi ia berbeza sedikit daripada corak penggunaan pemalam jQuery biasa. Kaedah pemasangan adalah serupa dengan kebanyakan pemalam jQuery Widget UI jQuery dicipta berdasarkan Kilang Widget, yang menyediakan API biasa. Jadi sebaik sahaja anda belajar menggunakan satu, anda tahu cara menggunakan widget lain. Tutorial ini akan memperkenalkan fungsi biasa melalui contoh kod widget bar kemajuan.

Pemasangan

Untuk menjejak status widget, kami mula-mula memperkenalkan kitaran hayat penuh widget. Kitaran hayat bermula apabila widget dipasang. Kami hanya perlu memanggil pemalam pada satu atau lebih elemen, iaitu widget dipasang.

$( "#elem" ).progressbar();

Ini akan memulakan setiap elemen dalam objek jQuery, dalam kes ini, id elemen ialah "elem". Kerana kami memanggil kaedah .progressbar() tanpa parameter, widget akan dimulakan dengan pilihan lalainya. Kami boleh lulus satu set pilihan semasa pemasangan, yang mengatasi pilihan lalai.

$( "#elem" ).progressbar({ value: 20 });

Bilangan pilihan yang diluluskan semasa pemasangan boleh ditentukan mengikut keperluan kami. Mana-mana pilihan yang kami tidak lulus mempunyai nilai lalainya digunakan.

Pilihan adalah sebahagian daripada keadaan widget, jadi kami juga boleh menetapkan pilihan selepas pemasangan. Kami akan memperkenalkan bahagian ini dalam kaedah option seterusnya.

Kaedah

Sekarang widget telah dimulakan, kita boleh menanyakan statusnya atau melakukan tindakan pada widget. Semua tindakan selepas permulaan dilakukan dalam bentuk panggilan kaedah. Untuk memanggil kaedah pada widget, kami boleh menghantar nama kaedah kepada pemalam jQuery. Sebagai contoh, untuk memanggil kaedah value pada widget bar kemajuan, kita harus menggunakan:

$( "#elem" ).progressbar( "value" );

Jika kaedah menerima parameter, kita boleh lulus parameter selepas nama kaedah. Sebagai contoh, untuk menghantar parameter 40 kepada kaedah value, kita boleh menggunakan:

$( "#elem" ).progressbar( "value", 40 );

Sama seperti kaedah lain dalam jQuery, kebanyakan kaedah widget mengembalikan objek jQuery untuk pautan.

$( "#elem" )
    .progressbar( "value", 90 )
    .addClass( "almost-done" );

Kaedah awam

Setiap widget mempunyai set kaedah tersendiri berdasarkan fungsi yang disediakan oleh widget. Walau bagaimanapun, terdapat beberapa kaedah yang biasa untuk semua widget.

pilihan

Seperti yang kami nyatakan sebelum ini, kami boleh menukar pilihan selepas permulaan melalui kaedah option. Sebagai contoh, kita boleh menukar nilai bar kemajuan kepada 30 dengan memanggil kaedah option.

$( "#elem" ).progressbar( "option", "value", 30 );

Perhatikan bahawa ini berbeza daripada contoh sebelumnya yang kami panggil kaedah value. Dalam contoh ini, kami memanggil kaedah option dan menukar pilihan nilai kepada 30.

Kita juga boleh mendapatkan nilai semasa untuk pilihan.

$( "#elem" ).progressbar( "option", "value" );

Selain itu, kami boleh mengemas kini berbilang pilihan serentak dengan menghantar objek kepada kaedah option.

$( "#elem" ).progressbar( "option", {
    value: 100,
    disabled: true
});

Anda mungkin perasan bahawa kaedah option mempunyai bendera yang sama seperti getter dan setter dalam kod jQuery, seperti .css() dan .attr(). Satu-satunya perbezaan ialah anda mesti lulus rentetan "pilihan" sebagai hujah pertama. Kaedah

lumpuhkan

disable melumpuhkan widget. Dalam contoh bar kemajuan, ini mengubah gaya supaya bar kemajuan kelihatan dilumpuhkan.

$( "#elem" ).progressbar( "disable" );

memanggil kaedah disable adalah bersamaan dengan menetapkan pilihan disabled kepada true. Kaedah

dayakan

enable adalah bertentangan dengan kaedah disable.

$( "#elem" ).progressbar( "enable" );

memanggil kaedah enable adalah bersamaan dengan menetapkan pilihan disabled kepada false.

musnahkan

Jika anda tidak memerlukan widget lagi, anda boleh memusnahkannya dan kembali ke penanda asal. Ini bermakna berakhirnya kitaran hayat widget.

$( "#elem" ).progressbar( "destroy" );

Setelah anda memusnahkan widget, anda tidak boleh memanggil sebarang kaedah pada widget itu melainkan anda memulakan widget itu semula. Jika anda ingin mengalih keluar elemen, anda boleh melakukannya terus melalui .remove() atau anda boleh mengubah suai moyang melalui .html() atau .empty() dan widget akan dimusnahkan secara automatik.

widget

Sesetengah widget menjana elemen pembalut atau elemen yang diputuskan sambungan daripada elemen asal. Dalam contoh di bawah, widget akan mengembalikan elemen yang dijana. Dalam keadaan bar kemajuan, tiada pembalut yang dihasilkan dan kaedah widget mengembalikan elemen asal.

$( "#elem" ).progressbar( "widget" );

Acara

Semua widget mempunyai acara yang berkaitan dengan pelbagai gelagatnya untuk memberitahu anda apabila statusnya berubah. Untuk kebanyakan widget, apabila acara dicetuskan, nama itu diawali dengan nama widget. Sebagai contoh, kita boleh mengikat peristiwa perubahan bar kemajuan() untuk mencetuskannya apabila nilai berubah.

$( "#elem" ).bind( "progressbarchange", function() {
    alert( "The value has changed!" );
});

Setiap acara mempunyai panggilan balik yang sepadan, yang dibentangkan sebagai pilihan. Kita boleh menggunakan change panggil balik bar kemajuan, yang bersamaan dengan mengikat acara progressbarchange.

$( "#elem" ).progressbar({
    change: function() {
        alert( "The value has changed!" );
    }
});

Acara awam

Kebanyakan acara adalah khusus untuk widget dan semua widget mempunyai acara create awam. Acara ini dicetuskan apabila widget dibuat.