.undelegate()

.undelegate() Dönen Değer : jQuery Nesnesi
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>
<button id="theone">Does nothing...</button>
<button id="bind">Bind Click</button>
<button id="unbind">Unbind Click</button>
<div style="display:none;">Click!</div>
<script>
   function aClick() {
      $( "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.

var foo = 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.

var foo = function() {
  // olay işleme kodu
};
 
// Olayları ".whatever" namespace değeri ile bağla
$( "form" ).delegate( ":button", "click.whatever", foo );
 
$( "form" ).delegate( "input[type='text'] ", "keypress.whatever", foo );
 
// ".whatever" namespace altındaki tüm olayları iptal et
$( "form" ).undelegate( ".whatever" );

.

.