# 14: Prilagođeni događaji - CSS-trikovi

Anonim

Budući da smo upravo razgovarali o događajima, sada je pravo vrijeme za spomenuti prilagođene događaje. Svi događaji o kojima smo do sada razgovarali su "stvarni" događaji, da tako kažem. Događaji koji potječu iz DOM-a na temelju stvarnih stvari koje se događaju, poput klika ili pritiska tipke. Ti se događaji mogu umjetno "pokrenuti" u jQueryju. Na primjer, da biste "lažirali" klik na gumb, možete učiniti:

$("#some-button").trigger("click");

Tada će se svi obrađivači klikova vezani za taj gumb aktivirati kao da je korisnik stvarno kliknuo taj gumb. Ali što ako jesmo:

$("#some-button").trigger("dance");

Što se onda događa? "Ples" nije "pravi" događaj. Ali nikakva pogreška neće biti izbačena. Slučajno se dogodi da vjerojatno nijedan “dance” rukovatelj nije vezan za taj gumb. Ali moglo bi ih biti i to je u osnovi ono što je prilagođeni događaj. Događaj s imenom koje samo izmislite.

Zašto bi to učinio? Uglavnom organizacijski razlozi. Možda želite razdvojiti JavaScript koji obrađuje događaje i radnje i JavaScript koji obrađuje podatke i administrativne stvari. To je vrlo razumno. Da je ovaj gumb možda gumb "Spremi postavke", možete jednostavno aktivirati prilagođeni događaj pod nazivom "spremi postavke", a drugdje imate obrađivač koji čeka pokretanje tog događaja i vrši stvarno spremanje podataka. To smo u osnovi učinili u primjeru iz videa.

Sljedeći slučaj upotrebe prilagođenih događaja je izrada generičkih komponenata korisničkog sučelja. O tome govorim u ovom blogu.

Možda stvarate efekt harmonike kao komponentu korisničkog sučelja. Harmonika radi ono na što sve harmonike otvaraju i zatvaraju ploče na klikove / slavine. Vaša UI komponenta to čini vrlo lijepo. Sada programer koji koristi tu harmoniku mogao bi imati posebne i jedinstvene stvari s kojima žele da se dogode. Recimo da harmoniku koriste za postavke računa, a kada korisnik zatvori ploču, želi spremiti podatke iz elemenata obrasca na toj ploči. Tradicionalni model može biti da autor te komponente UI harmonike nudi funkcije povratnog poziva kad se dogodi ta radnja. Kad inicijalizirate harmoniku, predajete funkcije povratnog poziva koje želite pozvati kad se te stvari dogode. To je jedan put kojim se treba spustiti. Druga cesta bila bi harmonika da automatski automatski pokrene prilagođene događaje za sve relevantne radnje koje čini.Kad se ta ploča zatvori, mogao bi ispaliti apanelCloseddogađaj na samom elementu harmonike. Tada bi se programeri koji rade s tim mogli samo vezati za te događaje. To je samo još jedan put kojim se možete spustiti iz organizacijskih razloga, a koji može biti prilično elegantan.