off Metode
Die metode off laat toe om 'n gebeurtenishandler
van 'n element te ontkoppel. Om 'n handler te koppel,
kan jy die metode
off gebruik.
Sintaksis
So verwyder ons 'n gebeurtenishandler van 'n element.
As eerste parameter word een of meer gebeurtenisse,
geskei deur spasies, as 'n string oorgedra. Die tweede
is 'n addisionele filterende selekteerder vir afstammelinge
binne die element (dit moet ooreenstem met wat ons aan die
metode on oorgedra het toe ons die handler geheg het).
Om alle gedelegeerde gebeurtenisse te verwyder,
stuur die waarde '**'. Die tweede parameter
is opsioneel. Die derde is die handlerfunksie
(wat ons geheg het), waarin die gebeurtenisvoorwerp
oorgedra word, of stuur false:
$(selekteerder).off(gebeurtenisse, [selekteerder], handlerfunksie(gebeurtenisvoorwerp));
Jy kan die metode off anders gebruik.
Dan word 'n JavaScript-voorwerp as eerste parameter oorgedra,
waar sleutels die gebeurtenistipe is, en
waardes die handlerfunksies is wat ons by die
element gevoeg het:
$(selekteerder).off({'gebeurtenistipe': handler}, [selekteerder]);
Ons kan eenvoudig een parameter in die vorm van
'n jQuery.Event-voorwerp oordra:
$(selekteerder).off(gebeurtenis);
As geen parameters aan die metode oorgedra word nie, dan ontkoppel ons alle aangehegte handlers van die element:
$(selekteerder).off();
Voorbeeld
Kom ons voeg die handlerfunksie
testFunc by die paragrawe. Maar laat ons dadelik
die handler van die tweede paragraaf verwyder, sodat 'n
kliek op die tweede paragraaf niks sal veroorsaak nie
(as ons eger die laaste reël kode kommentaar, sal ons sien
hoe die gebeurtenis aktiveer en 'n klik op die tweede paragraaf
wel werk):
<p id="test1">click1</p>
<p id="test2">click2</p>
function testFunc(gebeurtenis) {
alert(gebeurtenis.data.teks);
}
$('#test1').on('click', {teks: 'aaa'}, testFunc); // voeg handler by
$('#test2').on('click', {teks: 'bbb'}, testFunc); // voeg handler by
$('#test2').off('click', testFunc); // verwyder handler