⊗jsPmDmHU 361 of 505 menu

Ontkoppelingsgebeurtenisse in JavaScript

In hierdie les sal ons leer hoe om gebeurtenishanteerders wat voorheen daaraan geheg is, van elemente te ontkoppel. Laat die volgende knoppie as voorbeeld gegee wees:

<input id="button" type="submit">

Laat ons die funksie func aan hierdie knoppie koppel:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); }

Kom ons maak nou so dat die gebeurtenishanteerder slegs by die eerste klik aktiveer, en daarna van die knoppie ontkoppel word. Daar bestaan 'n spesiale metode hiervoor genaamd removeEventListener. Hierdie metode neem die gebeurtenistipe as eerste parameter, en 'n verwysing na die funksie wat ontkoppel moet word as tweede.

Gewoonlik beteken dit dat die gebeurtenishanteerder op dieselfde manier ontkoppel word as wat dit gekoppel is. As ons dit so gekoppel het: addEventListener('click', func), dan sal ons dit ook met dieselfde parameters ontkoppel, soos volg: removeEventListener('click', func).

Laat ons dus die gestelde taak oplos:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); this.removeEventListener('click', func); }

'n Skakel en 'n knoppie word gegee. Voeg by die aanskaf van die knoppie die inhoud van die skakel se href-kenmerk by die einde van die skakelteks in ronde hakies. Maak seker dat hierdie byvoeging slegs by die eerste aanskaf plaasvind.

'n Knoppie word gegee waarvan die waarde die getal 1 is. Maak so dat met elke klik op hierdie knoppie sy waarde met een vermeerder. Nadat die knoppie se waarde 10 bereik het - ontkoppel die hanteerder sodat die knoppie nie meer op aanskaf reageer nie.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp