Saya tahu bahwa dalam JavaScript sintaksnya adalah sebagai berikut:
function myfunction(param){
//some code
}
Apakah ada cara untuk mendeklarasikan fungsi di jQuery yang dapat ditambahkan ke elemen? Sebagai contoh:
$('#my_div').myfunction()
javascript
jquery
function
multimediaxp
sumber
sumber
$('#myDatePickerfield').datePicker();
$("#someElement").hide()
atau.addClass()
...Jawaban:
Dari Documents :
Lalu kamu lakukan
sumber
$('my_div').myfunction();
akan dipanggil<my_div></my_div>
. Anda perlu tanda pagar di sana untuk merujuk ke idmy_div
.Terlepas dari semua jawaban yang telah Anda terima, perlu dicatat bahwa Anda tidak perlu menulis plugin untuk menggunakan jQuery dalam suatu fungsi. Tentu saja jika ini adalah fungsi sederhana, satu kali, saya percaya menulis sebuah plugin berlebihan. Itu bisa dilakukan jauh lebih mudah dengan hanya menyerahkan pemilih ke fungsi sebagai parameter . Kode Anda akan terlihat seperti ini:
Perhatikan bahwa
$
nama variabel$param
tidak diperlukan. Ini hanya kebiasaan saya untuk membuatnya mudah diingat bahwa variabel itu berisi pemilih jQuery. Anda bisa menggunakannyaparam
juga.sumber
Meskipun ada banyak dokumentasi / tutorial di luar sana, jawaban sederhana untuk pertanyaan Anda adalah ini:
Di dalam fungsi itu,
this
variabel sesuai dengan set dibungkus jQuery yang Anda panggil fungsi Anda. Jadi sesuatu seperti:... akan menyiram jumlah elemen dengan kelas ke konsol
foo
.Tentu saja, ada lebih banyak hal semantik dari itu (juga praktik terbaik, dan semua jazz itu), jadi pastikan Anda membacanya.
sumber
Untuk membuat fungsi tersedia pada objek jQuery Anda menambahkannya ke prototipe jQuery (fn adalah jalan pintas untuk prototipe di jQuery) seperti ini:
Ini biasanya disebut plugin jQuery .
Contoh - http://jsfiddle.net/VwPrm/
sumber
Yup - yang Anda gambarkan adalah plugin jQuery.
Untuk menulis plugin jQuery, Anda membuat fungsi dalam JavaScript, dan menetapkannya ke properti pada objek
jQuery.fn
.Misalnya
Di dalam fungsi plugin Anda,
this
kata kunci diatur ke objek jQuery tempat plugin Anda dipanggil. Jadi, ketika Anda melakukannya:Kemudian
this
di dalamnyamyfunction
akan diatur ke objek jQuery yang dikembalikan oleh$('#my_div')
.Lihat http://docs.jquery.com/Plugins/Authoring untuk cerita selengkapnya.
sumber
sumber
Anda juga dapat menggunakan extended (cara Anda membuat plugin jQuery):
Pemakaian:
sumber
Anda dapat menulis plugin jQuery Anda sendiri (fungsi yang dapat dipanggil pada elemen yang dipilih) seperti di bawah ini:
Sebut saja nanti seperti:
sumber
Ya, metode yang Anda terapkan pada elemen yang dipilih menggunakan jquery, disebut jquery plugins dan ada banyak info tentang penulisan dalam dokumen jquery.
Nilainya dicatat jquery yang adalah hanya javascript, sehingga tidak ada yang istimewa tentang "metode jquery".
sumber
Buat metode "mewarnai":
Gunakan:
Contoh sederhana-ish ini menggabungkan yang terbaik dari Cara Membuat Plugin Dasar di docs jQuery, dan jawaban dari @Candide , @ Michael .
this
dapat dirantai . (Terima kasih @Potheek.)sumber
Anda selalu dapat melakukan ini:
sumber
Sepertinya Anda ingin memperluas objek jQuery melalui prototipe itu (alias menulis plugin jQuery ). Ini berarti bahwa setiap objek baru yang dibuat dengan memanggil fungsi jQuery (
$(selector/DOM element)
) akan memiliki metode ini.Ini adalah contoh yang sangat sederhana:
Demo
sumber
Contoh paling sederhana untuk membuat fungsi apa pun di jQuery adalah
sumber