3Dalam artikel saya sebelumnya, Cara Membuat Acara Kustom di JavaScript , kami membincangkan manfaat peristiwa tersuai dan objek CustomEvent asli. Untuk merakam, kita boleh membakar acara bernama kita sendiri. Halaman Demonstation menyediakan satu borang yang melancarkan acara "Newmessage" setiap kali mesej yang sah diserahkan. Mana -mana bilangan pengendali boleh melanggan acara ini untuk melakukan tindakan mereka sendiri. Satu -satunya masalah kami: CustomEvent tidak disokong pada Safari atau Internet Explorer. Ada cara di sekitar isu keserasian penyemak imbas. Satu penyelesaian adalah untuk menulis fungsi enkapsulasi acara anda sendiri yang melaksanakan fungsi acara tersuai. Nasib baik, tidak ada keperluan: Acara tersuai disokong di beberapa perpustakaan JavaScript termasuk jQuery. Kaedah JQuery's .trigger adalah kunci. Anda boleh mencetuskan peristiwa dengan nama jenis baru dan data sewenang -wenangnya pada bila -bila masa, mis.
$.event.trigger({ type: "newMessage", message: "Hello World!", time: new Date() });
$(document).on("newMessage", newMessageHandler);
$("#msgbox").on("submit", SendMessage); // new message: raise newMessage event function SendMessage(e) { e.preventDefault(); var msg = $("#msg").val().trim(); if (msg) { $.event.trigger({ type: "newMessage", message: msg, time: new Date() }); } }
// newMessage event subscribers $(document).on("newMessage", newMessageHandler); // newMessage event handler function newMessageHandler(e) { LogEvent( "Event subscriber on "+e.currentTarget.nodeName+", " +e.time.toLocaleString()+": "+e.message ); }
Membuat acara tersuai di jQuery adalah mudah. Anda boleh menggunakan kaedah .trigger () untuk mencetuskan acara tersuai. Berikut adalah contoh mudah:
$ (dokumen). Bagaimanakah saya dapat menyampaikan data ke pengendali acara tersuai dalam jQuery?
$ (dokumen). diserahkan kepada pengendali acara. Kaedah .on (). Berikut adalah contoh:
}) ;
Dalam contoh ini, fungsi yang diberikan kepada kaedah .on () adalah pengendali acara. JQuery?
Ya, anda boleh menghentikan acara tersuai daripada menyebarkan jQuery dengan memanggil kaedah .Stoppropagation () pada objek acara. Berikut adalah contoh:
Ya, anda boleh menghalang tindakan lalai acara tersuai dalam jQuery dengan memanggil kaedah .PreVentDefault () pada objek acara. Berikut adalah contoh:
$ (dokumen) .on ('myCustomEvent', function (event) {
event.PreventDefault (); , kaedah pencegahanDefault () menghalang tindakan lalai yang berkaitan dengan peristiwa.
Ya, anda boleh mencetuskan acara tersuai hanya sekali dalam jQuery dengan menggunakan kaedah satu () bukan kaedah .on (). Berikut adalah contoh:
Ya, anda boleh mengeluarkan pengendali acara tersuai dalam jQuery dengan menggunakan kaedah .off (). Berikut adalah contoh:
$ (dokumen) .off ('myCustomEvent'); Bolehkah saya mencetuskan peristiwa tersuai secara manual dalam jQuery?
Ya, anda boleh mencetuskan peristiwa tersuai secara manual dalam jQuery dengan menggunakan .rigger () kaedah. Berikut adalah contoh:
$ (dokumen) .trigger ('myCustomEvent'); Bolehkah saya mengikat beberapa pengendali ke acara tersuai dalam jQuery? Berikut adalah contoh:
$ (dokumen) .on ('myCustomEvent', function () {
console.log ('handler 1'); $ (dokumen) .on ('myCustomEvent', function () {
});
Atas ialah kandungan terperinci JQuery Trigger () Kaedah: Cara Membuat Acara Custom dalam JQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!