jQuery.Callbacks () metode
Metode Lain-lain jQuery
contoh
Menambahkan fungsi callback ke daftar $ .Callbacks
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai );}
fungsi fn2 ( nilai ) {
fn1 ( "fn2 mengatakan:" + nilai); pulang false;}
var callback = $ Callback () ;. . callback menambahkan ( fn1 );
callback. api ( "Foo!" ) ;. Callback menambahkan ( fn2
callback. api ( "Bar!" );})
Coba »
Definisi dan Penggunaan
$ .Callbacks () Mengacu daftar callback serbaguna objek, memberikan cara yang ampuh untuk mengelola fungsi callback kolom kanan.
Tip: $ .Callbacks di jQuery untuk penggunaan internal, seperti Ajax, $ tangguhan dan komponen lainnya menyediakan fungsi untuk fungsi dasar. Hal ini juga dapat digunakan dalam beberapa komponen fungsi yang sama, seperti untuk mengembangkan sendiri plug-in.
tatabahasa
参数 |
描述 |
flags
|
可选。 String类型 一个用空格标记分隔的可选列表,用来改变回调列表中的行为 |
contoh yang lebih
Berikut adalah .remove () untuk menghapus panggilan balik dari contoh daftar callback
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai );}
fungsi fn2 ( nilai ) {
fn1 ( "fn2 mengatakan:" + nilai); pulang false;}
var callback = $ Callback () ;. . callback menambahkan ( fn1 );
callback. api ( "Foo!" ) ;. Callback menambahkan ( fn2
callback. api ( "Bar!" ) ;. Callback hapus ( fn2 );
callback. api ( "Foobar" );})
Coba »
Didukung Flags parameter
Bendera parameter $ .Callbacks () adalah parameter opsional, struktur dari bendera dipisahkan oleh spasi ditandai daftar opsional, untuk mengubah perilaku daftar callback (misalnya. $ .Callbacks ( 'Unik stopOnFalse')).
Berikut ini adalah bendera tersedia:
参数 |
描述 |
once
|
确保这个回调列表只执行一次 |
memory
|
缓存上一次fire时的参数值,当add()添加回调函数时,直接用上一次的参数值立刻调用新加入的回调函数 |
unique
|
确保一次只能添加一个回调,不会重复添加 |
stopOnFalse
|
某个回调函数返回false之后中断后面的回调函数 |
Berikut adalah contoh $ .Callbacks ( "sekali") dari
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai );}
fungsi fn2 ( nilai ) {
fn1 ( "fn2 mengatakan:" + nilai); pulang false;}
var callback = $. Callback ( "Setelah" ) ;. Callback menambahkan ( fn1 ) ;. Callback api ( "Foo" ) ;. Callback menambahkan ( fn2 ) ;. Callback api ( "Bar" ) ;. Callback hapus ( fn2 ) ;. Callback api ( "Foobar" );
})
Coba » Berikut adalah contoh $ .Callbacks ( "memori") dari
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai );}
fungsi fn2 ( nilai ) {
fn1 ( "fn2 mengatakan:" + nilai); pulang false;}
var callback = $. Callback ( "Memory" ) ;. Callback menambahkan ( fn1 ) ;. Callback api ( "Foo" ) ;. Callback menambahkan ( fn2 ) ;. Callback api ( "Bar" ) ;. Callback hapus ( fn2 ) ;. Callback api ( "Foobar" ); mengatakan: bar foobar * /
})
Coba » Berikut adalah contoh $ .Callbacks ( "unik") dari
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai );}
fungsi fn2 ( nilai ) {
fn1 ( "fn2 mengatakan:" + nilai); pulang false;}
var callback = $. Callback ( "Unik" ) ;. Callback menambahkan ( fn1 ) ;. Callback api ( "Foo" ) ;. Callback menambahkan ( fn1 // Ulangi Selain
callback. tambahkan ( fn2 ) ;. Callback api ( "Bar" ) ;. Callback hapus ( fn2 ) ;. Callback api ( "Foobar" ); * /
})
Coba » Berikut adalah contoh $ .Callbacks ( "stopOnFalse") dari
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai ); Kembali false;}
fungsi fn2 ( nilai ) {
fn1 ( "Fn2 mengatakan:" value + ); Kembali false;}
var callback = $. Callback ( "StopOnFalse" ) ;. Callback menambahkan ( fn1 ) ;. Callback api ( "Foo" ) ;. Callback menambahkan ( fn2 ) ;. Callback api ( "Bar" ) ;. Callback hapus ( fn2 ) ;. Callback api ( "Foobar" );
})
Coba » $ .Callbacks () Mendukung daftar pluralitas bendera (identifikasi) tidak hanya satu, ada efek kumulatif, seperti "&&."
Berikut adalah contoh $ .Callbacks ( 'memori unik') dari
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai ); Kembali false;}
fungsi fn2 ( nilai ) {
fn1 ( "Fn2 mengatakan:" value + ); Kembali false;}
var callback = $. Callback ( "Memori Unik" ) ;. Callback menambahkan ( fn1 ) ;. Callback api ( "Foo" ) ;. Callback menambahkan ( fn1 // Ulangi Selain
callback. tambahkan ( fn2 ) ;. Callback api ( "Bar" ) ;. Callback menambahkan ( fn2 ) ;. Callback api ( "Baz" ) ;. Callback hapus ( fn2 ) ;. Callback api ( "Foobar" ); mengatakan: bar baz fn2 mengatakan: baz foobar * /
})
Coba » $ .Callbacks Metode juga dapat dipisahkan, misalnya:
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai );}
var ... Callback = $ Callback ( ), tambahkan = callback menambahkan, menghapus = callback hapus, api = callback api ;. menambahkan ( fn1 ); Api ( "Halo dunia" ); Hapus ( fn1 );
})
Coba »
$ .Callbacks, $ .Deferred Dan Pub / Sub
Umum ide pub / sub (pola pengamat) di belakang kopling longgar dan komunikasi yang efisien untuk aplikasi Anda. Pengamat juga dikenal sebagai pelanggan, yang menunjuk ke objek yang diamati. Memberitahu pengguna ketika seorang pengamat (Penerbit) peristiwa terjadi.
Sebagai $ .Callbacks () untuk membuat komponen presentasi, hanya daftar fungsi callback, Anda dapat mencapai Pub / Sub sistem. Artikel $ .Callbacks sebagai antrian dapat dibuat dengan cara berikut, untuk mencapai artikel mempublikasikan dan berlangganan:
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai ); Kembali false;}
fungsi fn2 ( nilai ) {
fn1 ( "Fn2 mengatakan:" value + ); Kembali false;}
var Topik = {} ;. jQuery Topik = function ( id ) {
var callback, metode, topic = id && topik [ id ]; Jika (Topik! ) {
. Callback = jQuery Callback (); topic = {
mempublikasikan: callback api, berlangganan :. callback menambahkan, berhenti berlangganan :. callback hapus.
}; Jika ( id ) {
topik [ id ] = Topik;}
}
kembali // $. Topik ( "MailArrived" ). Berlangganan ( fn1 ) ;. $ Topik ( "MailArrived" ). Berlangganan ( fn2 ) ;. $ Topik ( "MailSent" ). Berlangganan ( fn1 ); $. Topik ( "MailArrived" ). Publish ( "Halo dunia!" ) ;. $ Topik ( "MailSent" ). Publish ( "Woo! Mail!" ); woo mail * / !!!!
})
Coba » Lebih meningkatkan penggunaan $ .Deferreds, Anda dapat memastikan bahwa ketika tugas tertentu selesai (atau tekad), penerbit mengeluarkan pemberitahuan kepada pelanggan saja. Lihat kode contoh berikut:
contoh
$ (Fungsi () {
fungsi fn1 ( nilai ) {
alert ( nilai ); Kembali false;}
fungsi fn2 ( nilai ) {
fn1 ( "Fn2 mengatakan:" value + ); Kembali false;}
var Topik = {} ;. jQuery Topik = function ( id ) {
var callback, metode, topic = id && topik [ id ]; Jika (Topik! ) {
. Callback = jQuery Callback (); topic = {
mempublikasikan: callback api, berlangganan :. callback menambahkan, berhenti berlangganan :. callback hapus.
}; Jika ( id ) {
topik [ id ] = Topik;}
}
kembali // $. Topik ( "MailArrived" ). Berlangganan ( fn1 );
var . Dfd = $ Ditangguhkan (); //
var topic = $. Topik ( "MailArrived" );
dfd. dilakukan ( topik. mempublikasikan );
dfd. mengatasi ( "Saya telah dirilis!" );})
Coba »
Metode Lain-lain jQuery