Açıklama : Seçimden gelen bir ya da daha fazla elemandan istenen olayları
ve işleyicilerini kaldırır.
.undelegate()
Bu şekil kullanımda parametre yoktur.
.undelegate( selector, eventType )
selector
Tip : String
Olayları filtreleyecek olan seçici.
eventType
Tip : String
JavaScript olay tipini belirleyen string. "click" veya "keydown" gibi.
.undelegate( selector, eventType, handler )
selector
Tip : String
Olayları filtreleyecek olan seçici.
eventType
Tip : String
JavaScript olay tipini belirleyen string. "click" veya "keydown" gibi.
handler
Tip : Fonksiyon(
Olay eventObject )
Olay her tetiklendiğinde çalıştırılacak olan fonksiyon.
.undelegate( selector, events )
selector
Tip : String
Olayları filtreleyecek olan seçici.
events
Tip : Düz Nesne
Bir ya da birden fazla JavaScript olay tipi ve önceden onlara bağlanmış iptal
edilmek istenen fonksiyonları içeren nesne.
.undelegate( namespace )
namespace
Tip : String
Tüm olayların iptal edileceği namspace değerini içeren string.
JQuery versiyon 3.0'la beraber .undelegate() metodu kaldırıldı. Versiyon
1.7'den beri .off() metodu kullanılması tercih
ediliyor. Aynı teknikleri kullandığı için bu metodlar kaldırılmıştır.
.undelegate() metodu daha önceden .delegate()
metodu kullanarak bağlanmış olay işleyicileri kaldırmak için kullanılır.
Örnekler:
Renkli butona olay ekle ve kaldır.
<style>
button {
margin: 5px;
}
button#theone {
color: red;
background: yellow;
}
</style>
<buttonid="theone">Does nothing...</button>
<buttonid="bind">Bind Click</button>
<buttonid="unbind">Unbind Click</button>
<divstyle="display:none;">Click!</div>
<script>
functionaClick() {
$("div").show().fadeOut("slow");
}
$("#bind").on("click", function() {
$("body")
.delegate("#theone","click",aClick)
.find("#theone").text("Can Click!");
});
$("#unbind").on("click", function() {
$("body")
.undelegate("#theone","click",aClick)
.find("#theone").text("Does nothing...");
});
</script>
Click!
Tüm paragraflarda delegasyon edilmiş tüm olayları iptal için.
$("p").undelegate();
Tüm paragraflarda delegasyon edilmiş tüm "click" olaylarını iptal için.
$("p").undelegate("click");
Bağlanmış olay işleyicilerden sadece birini daha sonra iptal için.
varfoo=function() {
// Olayı işleyen kod
};
// ... Şimdi foo paragraflar tıklanınca çağrılacak ...
$("body").delegate("p", "click", foo);
// ... foo artık çağrılamayacak.
$("body").undelegate("p", "click", foo);
namespace kullanarak tanımlanmış olay işleyicilerin iptali.
varfoo=function() {
// olay işleme kodu
};
// Olayları ".whatever" namespace değeri ile bağla