Metoden on
Metoden on gør det muligt at tilføje en håndteringsfunktion
for begivenheder til et element. For at fjerne håndteringsfunktionen
kan du bruge metoden
off,
for at begivenheden kun udløses én gang, hvorefter
håndteringsfunktionen fjerner sig selv - brug metoden
one.
Elementerne, som vi binder håndteringsfunktionen til, skal
eksistere på tidspunktet for kaldet af on.
Syntaks
Sådan tilføjer vi en håndteringsfunktion for begivenheder til et element,
som første parameter overføres en eller flere begivenheder adskilt af mellemrum i form af en streng, som anden
parameter overfører vi et ekstra filtrerende
selektor for efterkommere inde i elementet, som tredje - ekstra
data, som overføres til håndteringsfunktionen i egenskaben
event.data
ved udløsning af begivenheden. Anden og tredje parameter er
valgfrie. Som fjerde overføres håndteringsfunktionen,
som modtager begivenhedsobjektet og valgfrie
ekstra parametre. Hvis der overføres false i stedet for håndteringsfunktionen,
så vil funktionen blot returnere false:
$(selektor).on(begivenheder, [selektor], [data], håndteringsfunktion(begivenhedsobjekt, [ekstra parametre]));
Det er muligt at bruge metoden on på en anden måde,
så overføres der som første parameter et
JavaScript-objekt, hvor nøglerne er begivenhedstypen, og
værdierne er håndteringsfunktioner, der kaldes
for begivenhederne:
$(selektor).on({'begivenhedstype': handler}, [selektor], [data]);
Hvis vi ikke overfører en ekstra selektor, udløses begivenheden på elementet, som vi fæstner håndteringsfunktionen til, ellers - på efterkommerelementet, som matcher denne selektor (delegerede begivenheder). Den samme håndteringsfunktion for en begivenhed kan være bundet til elementet flere gange.
Eksempel
Lad os i alert,
visse teksten i afsnittet med #test ved
et klik på det, klik på andre afsnit vil ikke føre til noget:
<p>tekst1</p>
<p id="test">tekst2</p>
<p>tekst3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Eksempel
Lad os ved klik på afsnittet vise de data, som
vi overførte til metoden on. Vi vil bruge
håndteringsfunktionen testFunc,
som vi oprettede:
<p>klik</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Se også
-
metoden
off,
som gør det muligt at fjerne en håndteringsfunktion for begivenheder fra et element -
metoden
one,
som gør det muligt for en begivenhed at udløse én gang, og derefter automatisk fjerne håndteringsfunktionen -
objektet
event,
som indeholder information om begivenheden -
metoden
trigger,
som gør det muligt at udløse alle håndteringsfunktioner for begivenheder, bundet til elementet for begivenheder af den angivne type -
JavaScript-metoden
bind,
som gør det muligt at binde en kontekst til en funktion