jQuery'de off Metodu
on
metodu ile bağlanan olayların bağını çözmek için
off
metodu kullanılır. İlk parametre olarak olay türünü
(örneğin, 'click'), ikinci parametre olarak ise
bağının çözüleceği fonksiyonun adını alır.
Aşağıdaki örneği inceleyelim. HTML kodumuz şu olsun:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS'de li etiketi için stil belirtilmiştir:
li {
width: 100px;
cursor: pointer;
}
Şimdi, bir li öğesine ilk tıklandıktan sonra,
ondaki olayın bağının çözülmesini sağlayalım:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Liste öğelerine tıklayın. Aynı liste öğesine ikinci kez
tıklandığında hiçbir şey olmadığını göreceksiniz, çünkü
func fonksiyonumuz,
append
metodu çalıştıktan sonra, off metodu ile bağlantısı kesiliyor.
Tüm linklere bir olay bağlayın - linkin üzerine gelindiğinde,
metninin sonuna, href değeri yuvarlak parantez içinde eklensin.
Linkin üzerine ilk gelinmesinden sonra, href'yi metnin sonuna
ekleyen olayın bağı linkten kaldırılsın.
Tüm inputlar için, herhangi birine tıklandığında kendi
value değerini yazdırsın, ancak sadece ilk tıklamada.
Inputa ikinci kez tıklandığında bir tepki vermemeli.
Sayılar içeren paragraflar verilmiştir. Bir paragrafa tıklandığında, içerdiği sayının karesi paragrafta görünsün, ancak sadece ilk tıklamada. Bir paragrafa çift tıklandığında, paragraftaki sayı iki katına çıksın, ama o da sadece ilk seferde.