⊗jqEvtSi 101 of 113 menu

Eenmalige gebeurtenis in jQuery

Toe ons die loskoppeling van gebeurtenisse met behulp van die metode off bestudeer het, het ons die volgende konstruksie gebruik:

$('li').on('click', function() { $(this).append('!'); $(this).off('click', func); });

Eers het ons die verwerkingsfunksie aangeheg met behulp van on, daarna losgemaak met behulp van off.

In jQuery is daar 'n gerieflike metode one, wat toelaat om 'n eenmalige gebeurtenis te bind - dit sal slegs een keer uitgevoer word, en dan outomaties losgemaak word. Hierdie metode neem die gebeurtenistipe as eerste parameter, en die gebonde funksie as tweede.

Die volgende voorbeeld sal ons beskou gebaseer op die onderstaande HTML-kode:

<ul> <li>teks</li> <li>teks</li> <li>teks</li> </ul>

Die CSS-kode lyk so:

li { width: 100px; cursor: pointer; }

Nou bind ons 'n eenmalige gebeurtenis aan elke li:

$('li').one('click', function() { $(this).append('!'); });

Druk op die punte van die lys. Soos jy kan sien, het ons dieselfde effek verkry, danksy die metode one.

Bind 'n gebeurtenis aan alle skakels - wanneer daar oor 'n skakel beweeg word, word sy href in ronde hakkies aan die einde van sy teks bygevoeg. Na die eerste keer wat oor die skakel beweeg word, moet die gebeurtenis wat die href by die einde van die teks voeg, daarvan losgemaak word.

Maak vir alle invoervelde so dat hulle hul eie value uitskryf wanneer op enige een daarvan gedruk word, maar slegs met die eerste druk. 'n Herhaalde druk op die invoerveld moet geen reaksie veroorsaak nie.

Daar is paragrawe met getalle. Met 'n klik op 'n paragraaf moet die kwadraat van die getal wat dit bevat daarin verskyn, maar slegs met die eerste klik. Met 'n dubbelklik op die paragraaf moet die getal in die paragraaf verdubbel word, maar ook slegs die eerste keer.

Daar is paragrawe. Maak so dat met die eerste klik op 'n paragraaf 'n '!' aan die einde daarvan bygevoeg word, maar slegs met die eerste klik.

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