Tā kā mēs tikko runājām par notikumiem, tagad ir piemērots laiks pieminēt pielāgotus pasākumus. Visi notikumi, par kuriem mēs esam runājuši līdz šim, ir tā teikt “īsti” notikumi. Notikumi, kuru izcelsme ir DOM, pamatojoties uz reālām lietām, kas notiek, piemēram, klikšķi vai taustiņa nospiešanu. Šos notikumus var mākslīgi “iedarbināt” jQuery. Piemēram, lai “viltotu” klikšķi uz pogas, jūs varētu rīkoties šādi:
$("#some-button").trigger("click");
Tad visi klikšķu apstrādātāji, kas ir saistīti ar šo pogu, tiks aktivizēti tā, it kā lietotājs patiešām noklikšķinātu uz šīs pogas. Bet ja mēs to izdarītu:
$("#some-button").trigger("dance");
Kas tad notiek? “Deja” nav “īsts” pasākums. Bet nekāda kļūda netiks izmesta. Tas notiek tā, ka šai pogai, visticamāk, nav neviena “deju” apstrādātāja. Bet varētu būt un būtībā tas ir pasūtījuma notikums. Pasākums ar nosaukumu, kuru jūs vienkārši izdomājat.
Kāpēc jūs to darītu? Pārsvarā organizatoriski apsvērumi. Varbūt jums patīk atdalīt JavaScript, kas apstrādā notikumus un darbības, un JavaScript, kas apstrādā datus un administratīvās lietas. Tas ir ļoti saprātīgi. Ja šī poga, iespējams, būtu poga “Saglabāt iestatījumus”, jūs varētu vienkārši aktivizēt pielāgotu notikumu ar nosaukumu “saglabāšanas iestatījumi”, un citur ir apdarinātājs, kas gaida šī notikuma sākšanos un faktiski saglabā datus. Būtībā to mēs izdarījām piemērā no videoklipa.
Vēl viens pielāgotu notikumu izmantošanas gadījums ir vispārīgu lietotāja saskarnes komponēšana. Es par to runāju šajā emuāra ziņā.
Varbūt jūs veidojat akordeona efektu kā lietotāja saskarnes komponentu. Akordeons dara to, kam tiek izmantoti visi akordeoni, atver un aizver paneļus uz klikšķiem / krāniem. Jūsu lietotāja saskarnes komponents to dara ļoti jauki. Tagad izstrādātājam, kurš izmanto šo akordeonu, varētu būt īpašas un unikālas lietas, ko viņi vēlas ar to notikt. Pieņemsim, ka konta iestatījumos viņi izmanto akordeonu, un, kad lietotājs aizver paneli, viņš vēlas saglabāt datus no veidlapas elementiem šajā panelī. Tradicionāls modelis varētu būt šī akordeona lietotāja saskarnes autora piedāvājums atzvanīšanas funkcijām, kad notiek šī darbība. Inicializējot akordeonu, jūs nododat atzvanīšanas funkcijas, kuras vēlaties izsaukt, kad notiek šīs lietas. Tas ir viens ceļš, uz kura jāiet. Cits ceļš būtu, ja akordeons vienkārši automātiski iedarbinātu pielāgotos pasākumus visām attiecīgajām darbībām, kuras tas veic.Kad šis panelis tiek aizvērts, tas var izšaut apanelClosed
pasākums uz paša akordeona elementa. Tad izstrādātāji, kas ar to strādā, varētu vienkārši saistīties ar šiem notikumiem. Tas ir tikai vēl viens ceļš, kuru varat izmantot organizatorisku iemeslu dēļ, kas var būt diezgan eleganti.