one-metode
Die metode one laat die byvoeging van 'n
gebeurtenishandsetter by 'n element toe. Nadat die gebeurtenis
een keer uitgevoer is, sal die handsetter
outomaties verwyder word.
Sintaksis
So heg ons 'n gebeurtenishandsetter by 'n element,
as die eerste parameter word een of meer gebeurtenisse as 'n string
oorgedra, geskei deur
spasies, as die tweede - dra ons data in die vorm van 'n JavaScript-voorwerp oor,
wat aan die handsetter in die eienskap
event.data oorgedra word wanneer die gebeurtenis plaasvind. Die tweede parameter
is opsioneel. As die derde dra ons die handsetterfunksie oor,
waaraan die gebeurtenisvoorwerp oorgedra word, of ons dra false oor:
$(selektor).one(gebeurtenisse, [data], handsetterfunksie(gebeurtenisvoorwerp));
As die tweede parameter kan 'n addisionele
filterende selektor van nakomelinge binne die element oorgedra word,
as die derde - addisionele data, wat aan
die handsetter in die eienskap event.data oorgedra word wanneer
die gebeurtenis plaasvind. Die tweede en derde parameters
is opsioneel. As die vierde dra ons die
handsetterfunksie oor, waaraan die gebeurtenisvoorwerp
en opsionele addisionele parameters oorgedra word. Indien in plaas van
die handsetterfunksie false oorgedra word, sal die funksie eenvoudig
false terugstuur:
$(selektor).one(gebeurtenisse, [selektor], [data], handsetterfunksie(gebeurtenisvoorwerp));
Die metode one kan op 'n ander manier gebruik word,
dan word as die eerste parameter 'n
JavaScript-voorwerp oorgedra, waar sleutels die gebeurtenistipe is, en
waardes die handsetterfunksie is wat ons by die
element gevoeg het:
$(selektor).one({'gebeurtenistipe': handler}, [selektor], [data]);
As ons nie 'n addisionele selektor oordra nie, dan vind die gebeurtenis plaas op die element waaraan ons die handsetter heg, andersins - op die nakomelingelement wat met daardie selektor ooreenstem (gedelegeerde gebeurtenisse).
Voorbeeld
Kom ons wys die data wat
ons aan die metode one oorgedra het, wanneer daar op die paragraaf geklik word.
Met daaropvolgende klieke sal
niks gebeur nie. Ons sal die
handsetterfunksie testFunc gebruik,
wat ons geskep het:
<p>kliek</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);