Sådan oprettes brugerdefinerede Begivenheder i JavaScript-program med HTML

Standarden begivenheder leveres med JavaScript klarer sig godt for de fleste almindelige opgaver. Men nogle gange, skal du bruge en brugerdefineret begivenhed. For eksempel skal du have en metode til at udføre et klik, og JavaScript giver en standard begivenhed til at håndtere dette behov. Men der er tidspunkter, hvor du har brug for at videregive oplysninger om, at skaberne af JavaScript ikke kan forudse. I dette tilfælde skal du oprette en brugerdefineret begivenhed.

Sådan arbejder du med den CustomEvent objekt i JavaScript

Den CustomEvent objekt giver midlerne til at oprette en ny begivenhed - en, der ikke er en del af JavaScript som standard. Den CustomEvent objekt er bedragerisk enkle. Alt det indeholder er de to ejendomme, der er beskrevet i den følgende liste:

  • Begivenhed navn: En streng, der indeholder det navn, du vil bruge til begivenheden. Navnet kan være noget, du vil, men det kan ikke indeholde blanke tegn, såsom rum. Brug en understregning (_), hvis det ønskes, til at adskille ord.
  • Begivenhed data: Et objekt bogstavelig der indeholder de data, du ønsker at passere som en del af begivenheden. Denne del af en brugerdefineret begivenhed kan blive ganske kompliceret, fordi du kan videregive enhver mængde data i enhver form, du ønsker, så længe dataene opfylder objektet bogstavelig format. Dataene begivenhed kommer i to former:

    • Standard data: Du kan give oplysninger om nogen af de egenskaber, der understøttes af standard begivenhed objekt. De fleste udviklere definere bobler og cancelable egenskaber som et minimum.
    • Tilpasset data: En brugerdefineret begivenhed kan indeholde brugerdefinerede data i enhver form. Du skal undgå at bruge navnene på de standard egenskaber. For eksempel kan du ikke give en brugerdefineret egenskab navnet bobler. Mange udviklere bruger detalje egenskaben til at indeholde oplysninger om den brugerdefinerede begivenhed, men dette er kun en konvention, og du er velkommen til at bruge nogen form du ønsker det.

Sådan oprettes den brugerdefinerede begivenhed kode i JavaScript

JavaScript gør det ganske let at oprette brugerdefinerede begivenheder din egen. Disse begivenheder kunne være noget. Der er mange anvendelsesmuligheder for brugerdefinerede begivenheder, men de alle følger det samme mønster. Dette eksempel begynder den globale brugerdefinerede begivenhed objekt vist her.

// Definer en ny begivenhed.
var SpecialEvent = ny CustomEvent (
"SpecialMessage",
{
detalje:
{
besked: "Hej der",
tid: ny dato ()
}
bobler: true,
cancelable: true
});

Bemærk at denne begivenhed er afhængig af en form for objekt bogstavelig. Men læg mærke til hvordan detalje er faktisk en indlejret objekt bogstavelig. Du kan indlejre oplysninger så mange niveauer dybe efter behov. Hvis du senere ønsker at ændre nogle træk ved begivenheden, kan du gøre det. For eksempel for at ændre meddelelsen ville du bruge kode som dette:

SpecialEvent.detail.message = "En ny meddelelse!"

Nu hvor du har en brugerdefineret begivenhed til at bruge, er du nødt til at gå gennem tre faser til at gennemføre den. Først, skal du tildele begivenheden til en kontrol. Eksemplet bruger en etiket og fortæller programmet at gøre opgaven som del af skemaet lastningen med: <body onLoad = "AssignEvent ()">. Her er den kode, du har brug for at tildele begivenheden til etiketten:

funktion AssignEvent ()
{
// Få objektet reference.
var Label = document.getElementById ("customLabel");

// Tildel en begivenhed til objektet.
Label.addEventListener (
"SpecialMessage", handleEvent, falsk);
}

Her ser du det et standard klik begivenhed for SpecialMessage brugerdefinerede begivenhed. Uanset om du tildele en standard eller brugerdefineret begivenhed, teknikken er den samme.

Anden fase i gennemførelsen af ​​en brugerdefineret begivenhed fyring begivenheden. Dette eksempel er baseret på en knap for at udføre opgaven, men enhver handling kan affyre begivenheden. Alt du behøver er en handling, hvor du kan vedhæfte kode til at udføre opgaven med at affyre begivenheden. Her er den begivenhed fyring kode, der bruges i dette eksempel:

funktion FireEvent ()
{
// Få objektet reference.
var Label = document.getElementById ("customLabel");

// Fire begivenheden.
Label.dispatchEvent (SpecialEvent);
}

The dispatchEvent () funktionen udfører det egentlige arbejde. Bemærk, at du fyre begivenheden ved hjælp af begivenhed objekt, du oprettede tidligere. Hvis du havde ønsket, kan du tildele værdier til nogen af ​​den findes i den brugerdefinerede begivenhed indhold. For den sags skyld, kan du oprette nyt indhold efter behov, så længe modtageren ved, hvordan man arbejder med det nye indhold.

Den tredje fase af gennemførelsen af ​​en brugerdefineret begivenhed er at give event handler. Arrangementet handleren modtager brugerdefinerede begivenhed fra kontrollen, der er tildelt til event handleren. Her er den event handler anvendes i dette tilfælde:

funktion handleEvent (begivenhed)
{
// Vis oplysninger om begivenheden.
document.getElementById ("customLabel"). innerHTML =
"Control" + event.currentTarget.id +
"<br /> Meddelelse:" + event.detail.message +
"<br /> Time sendt:" +
event.detail.time.toTimeString ();
}

Alt dette event handler gør, er at vise brugerdefinerede event oplysninger på skærmen.

Sådan oprettes brugerdefinerede Begivenheder i JavaScript-program med HTML


© 2023 Zajacperrone.com | Contact us: webmaster# zajacperrone.com