# 14: Dogodki po meri - CSS-triki

Anonim

Ker smo se pravkar pogovarjali o dogodkih, je zdaj pravi čas, da omenimo dogodke po meri. Vsi dogodki, o katerih smo govorili do zdaj, so tako rekoč "resnični" dogodki. Dogodki, ki izvirajo iz DOM-a na podlagi resničnih stvari, ki se zgodijo, na primer klik ali pritisk tipke. Te dogodke je mogoče umetno "sprožiti" v jQueryju. Če želite na primer "ponarediti" klik gumba, lahko naredite:

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

Nato se bodo vsi upravljavci klikov, vezani na ta gumb, sprožili, kot da bi uporabnik res kliknil na ta gumb. Kaj pa, če bi:

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

Kaj se potem zgodi? »Ples« ni »pravi« dogodek. Toda nobena napaka ne bo vržena. Zgodi se, da verjetno ni nobenega "plesnega" vodnika, ki bi bil vezan na ta gumb. Toda lahko bi se zgodilo in to je v bistvu dogodek po meri. Dogodek z imenom, ki si ga samo izmislite.

Zakaj bi to naredil? Večinoma organizacijski razlogi. Morda želite ločiti svoj JavaScript, ki obravnava dogodke in dejanja, in svoj JavaScript, ki obdeluje podatke in administrativne stvari. To je zelo razumno. Če bi bil ta gumb morda gumb »Shrani nastavitve«, bi lahko preprosto sprožili dogodek po meri z imenom »shrani-nastavitve«, drugje pa bi imel upravljalnik, ki čaka, da se dogodek sproži, in dejansko shrani podatke. To smo v bistvu storili v primeru iz videoposnetka.

Drug primer uporabe za dogodke po meri je ustvarjanje generičnih komponent uporabniškega vmesnika. O tem govorim v tej objavi v blogu.

Morda ustvarjate učinek harmonike kot komponento uporabniškega vmesnika. Harmonika počne tisto, na kar vse harmonike odpira, odpira in zapira plošče na klike / pipe. Vaša komponenta uporabniškega vmesnika to počne zelo lepo. Zdaj lahko razvijalec, ki uporablja to harmoniko, ima posebne in unikatne stvari, ki jih želijo z njo. Recimo, da za nastavitve računa uporabljajo harmoniko in ko uporabnik zapre ploščo, želi shraniti podatke iz elementov obrazca na tej plošči. Tradicionalni model je lahko, da avtor te komponente uporabniškega vmesnika harmonike ponuja funkcije povratnega klica, ko se to dejanje zgodi. Ko inicializirate harmoniko, prenesete funkcije povratnega klica, ki jih želite poklicati, ko se te stvari zgodijo. To je ena pot po dolgi poti. Druga pot bi bila, da harmonika samodejno sproži prireditve po meri za vsa ustrezna dejanja, ki jih počne.Ko se ta plošča zapre, lahko sproži apanelClosedprireditev na samem elementu harmonike. Potem bi se razvijalci, ki delajo z njim, lahko samo vezali na te dogodke. To je samo še ena pot, po kateri se lahko spustite zaradi organizacijskih razlogov in je lahko zelo elegantna.