2013-08-01 18 views
5

jquery özel etkinliklerini öğrenmeye çalışıyorum.jquery'deki basit özel olay

Sayfa yüklemesinde basit bir olayı tetiklemem gerekir.

HTML:

Ben bir uyarı

$("#mydiv").custom(); 

i aşağıdaki kodu çalıştı yangın Kendi olayı çağırmanız gerekir

<div id="mydiv"> my div</div> 

. "Özel" - - tetiklenen biri olarak

function customfun() 
    { 
     $("#mydiv").trigger("custom"); 
    } 

    $(document).ready(function() { 

     $("#mydiv").bind(customfun, function() { 
      alert('Banana!!!'); 
     }); 

    }); 
+0

bind(), parametre 1'in bir işlev değil, bir dize veya nesne olmasını bekler. – Virus721

cevap

2

İhtiyacınız jquery fonksiyonları gibi özel olaylar aramak için, iyi, $.fn üzerinden bu tür bir işlev tanımlayın:

$(document).ready(function() { 
    //define the event 
    $(document).on('custom', function() { 
     alert('Custom event!'); 
    }); 

    //define the function to trigger the event (notice "the jquery way" of returning "this" to support chaining) 
    $.fn.custom = function(){ 
     this.trigger("custom"); 
     return this; 
    }; 

    //trigger the event when clicked on the div 
    $("#mydiv").on("click", function() { 
     $(this).custom(); 
    }); 
}); 
4

Aynı etkinlik adına bağlamak gerekiyor.

$("#mydiv").on("custom", function() { ... 

Fiddle

+2

'.on()' next '.bind()' .. :) :) – bipen

+0

Cevabınız için teşekkürler. Bazı kod örneklerinde görmüştüm, insanlar $ ("# mydiv") kullanıyor. customevent(); dahili tıklatmalar dışında .. etc O zaman böyle bir olayı nasıl arayabilirim? – chamara

0

Eğer böyle yaparak diyebilirsiniz: Bunun gibi

$.fn.mycustom = function(){ 
    return this; 
}; 

$("div").mycustom(); 
İlgili konular