# 14: kohandatud sündmused - CSS-trikid

Anonim

Kuna me just rääkisime sündmustest, on nüüd hea aeg mainida kohandatud sündmusi. Kõik sündmused, millest oleme seni rääkinud, on nii-öelda “päris” sündmused. DOM-ist alguse saanud sündmused, mis põhinevad juhtuvatel tegelikel asjadel, näiteks klõps või klahvivajutus. Neid sündmusi saab jQuery's kunstlikult "käivitada". Näiteks ühe nupu klõpsamise võltsimiseks võite teha järgmist.

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

Seejärel käivituvad kõik selle nupuga seotud klõpsude käitlejad nii, nagu kasutaja klõpsaks tõesti seda nuppu. Aga mis oleks, kui me teeksime:

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

Mis siis juhtub? “Tants” ei ole “päris” sündmus. Kuid viga ei visata. Nii juhtub, et tõenäoliselt pole selle nupuga seotud ühtegi tantsutöötajat. Kuid võiks olla ja see on sisuliselt see, mis on kohandatud sündmus. Sündmus nimega, mille lihtsalt välja mõtlete.

Miks sa seda teeksid? Enamasti organisatsioonilised põhjused. Võib-olla soovite eraldada oma JavaScripti, mis tegeleb sündmuste ja toimingutega, ning JavaScripti, mis tegeleb andmete ja haldusasjadega. See on väga mõistlik. Kui see nupp oleks ehk nupp „Salvesta seaded”, võiksite lihtsalt käivitada kohandatud sündmuse, mille nimi on „Salvesta seaded”, ja mujal on olemas käitleja, kes ootab selle sündmuse käivitamist ja teeb andmete tegeliku salvestamise. See on sisuliselt see, mida me video näites tegime.

Teine kohandatud sündmuste kasutusjuht on üldiste kasutajaliidese komponentide loomine. Ma räägin sellest selles blogipostituses.

Võib-olla loote kasutajaliidese komponendina akordioniefekti. Akordion teeb seda, mida kõik akordionid teevad, avab ja sulgeb klõpsude / kraanide paneelid. Teie kasutajaliidese komponent teeb seda väga kenasti. Nüüd võib seda akordionit kasutaval arendajal olla erilisi ja ainulaadseid asju, mida nad sellega soovivad juhtuda. Oletame, et nad kasutavad konto seadistamiseks akordionit ja kui kasutaja paneeli sulgeb, soovib ta selle paneeli vormielementide andmed salvestada. Traditsiooniline mudel võib olla selle akordioni kasutajaliidese komponendi autor, kes pakub selle toimingu korral tagasihelistamisfunktsioone. Akordioni initsialiseerimisel edastate tagasihelistamisfunktsioonid, mida soovite nende asjade toimumisel kutsuda. See on üks tee alla minna. Teine võimalus oleks akordion lihtsalt kohandatud sündmused automaatselt käivitada kõigi asjakohaste toimingute jaoks, mida ta teeb.Kui see paneel sulgub, võib see vallandada apanelClosedsündmus akordionielemendil endal. Siis saaksid sellega töötavad arendajad nende sündmustega lihtsalt seonduda. See on lihtsalt üks tee, mida saate korralduse huvides minna, mis võib olla üsna elegantne.