Latest web development tutorials

jQuery.Callbacks () metode

Metode Lain-lain jQuery 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 ); // Output: foo! callback. api ( "Foo!" ) ;. Callback menambahkan ( fn2 !); // Output: bar, fn2 mengatakan: bar! 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

$.Callbacks( flags )

参数 描述
flags 可选。 String类型 一个用空格标记分隔的可选列表,用来改变回调列表中的行为


contoh

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 ); // Output: foo! callback. api ( "Foo!" ) ;. Callback menambahkan ( fn2 !); // Output: bar, fn2 mengatakan: bar! callback. api ( "Bar!" ) ;. Callback hapus ( fn2 ); // Output hanya foobar, fn2 telah dihapus. 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" ); / * Keluaran hanya: foo * / })

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" ); / * Output: foo fn2 mengatakan: foo bar fn2 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" ); / * Output: foo bar fn2 mengatakan: bar 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" ); / * Output: foo bar 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" ); / * Output: foo fn2 mengatakan: foo bar fn2 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 ); / * Output: hello world * / })

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;}; // pelanggan $. Topik ( "MailArrived" ). Berlangganan ( fn1 ) ;. $ Topik ( "MailArrived" ). Berlangganan ( fn2 ) ;. $ Topik ( "MailSent" ). Berlangganan ( fn1 ); // Penerbit $. Topik ( "MailArrived" ). Publish ( "Halo dunia!" ) ;. $ Topik ( "MailSent" ). Publish ( "Woo! Mail!" ); / * Output: halo fn2 dunia bilang: hello dunia 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;}; // Langganan pemberitahuan mailArrived $. Topik ( "MailArrived" ). Berlangganan ( fn1 ); // Buat objek alternatif delay baru $ .Deferreds var . Dfd = $ Ditangguhkan (); // mendefinisikan sebuah artikel baru (tidak langsung melepaskan) var topic = $. Topik ( "MailArrived" ); // Ketika penundaan diterima, pengumuman ke pelanggan dfd. dilakukan ( topik. mempublikasikan ); / * Berikut akan diteruskan kembali ke delay pesan pelanggan yang diterima, adalah mungkin untuk mengintegrasikan prosedur kompleks (misalnya, menunggu panggilan Ajax selesai), sehingga sebenarnya hanya dirilis sekali pesan. * / // Selesai. dfd. mengatasi ( "Saya telah dirilis!" );})

Coba »


Metode Lain-lain jQuery Metode Lain-lain jQuery