off Metodu
off metodu, bir elementten olay işleyicisini
kaldırmaya izin verir. Bir işleyici eklemek için
off
metodunu kullanabilirsiniz.
Sözdizimi
Bir elementten olay işleyicisini bu şekilde kaldırırız,
ilk parametre olarak string şeklinde boşlukla ayrılmış
bir veya birden fazla olay iletilir, ikinci olarak - elementin
içindeki alt öğeler için ek filtreleyici seçici iletiriz
(on metoduna işleyiciyi eklerken ilettiğimizle
aynı olmalıdır). Tüm temsilci olayları kaldırmak için
'**' değerini iletin. İkinci parametre
isteğe bağlıdır. Üçüncü olarak, olay nesnesinin iletildiği
fonksiyon-işleyiciyi (eklediğimiz) iletiriz veya
false iletiriz:
$(seçici).off(olaylar, [seçici], fonksiyon-işleyici(olay nesnesi));
off metodunu farklı şekilde kullanabilirsiniz,
o zaman ilk parametre olarak, anahtarların - olay türü,
değerlerin ise elemente eklediğimiz fonksiyon-işleyiciler
olduğu bir JavaScript nesnesi iletilir:
$(seçici).off({'olay türü': handler}, [seçici]);
Sadece jQuery.Event nesnesi şeklinde tek bir
parametre iletebiliriz:
$(seçici).off(olay);
Metoda parametre iletmezsek, elemente ekli tüm işleyicileri kaldırırız:
$(seçici).off();
Örnek
Paragrafa testFunc fonksiyon-işleyicisini
ekleyelim. Ama hemen ikinci paragraftaki işleyiciyi
kaldıralım, böylece ikinci paragrafa tıklamak hiçbir
şeye yol açmayacak (eğer kodun son satırını yorum
satırı yaparsak, olayın ikinci paragrafa tıklandığında
da tetiklendiğini göreceğiz):
<p id="test1">tıkla1</p>
<p id="test2">tıkla2</p>
function testFunc(event) {
alert(event.data.text);
}
$('#test1').on('click', {text: 'aaa'}, testFunc); // işleyici ekler
$('#test2').on('click', {text: 'bbb'}, testFunc); // işleyici ekler
$('#test2').off('click', testFunc); // işleyiciyi kaldırır