2012-08-28 11 views
5

Bir nesnede click olayında bir davranış eklemek için jQuery's .on() işlevini kullanıyorum, span deyin. thisspan olduğunu bu işlev içindeOrijinal seçiciyi jQuery's on() işlevini bir süzgeçle nasıl edinebilirim?

$('#container').on('click', 'span', function() { 
    // do stuff 
}); 

:

Benim kurulum şuna benzer. #container nasıl edinebilirim?


için tam bir örnek: http://jsfiddle.net/aymansafadi/Nk3p9/

<div id="container"> 
    <span>Click Me!</span> 
</div>​ 

- span.parent() kullanmak

$('#container').on('click', 'span', function() { 

    var span = $(this), 
     div = false; // This is what I need 

    console.log(span); 
});​ 
+1

bir kimlik sadece bir kez görünebilir, yani ... '$ ('# konteyner')'. ;-) –

+1

Ya da selektörünüzü önbelleğe alın ... – elclanrs

cevap

8

Kullanım event.delegateTarget

$('#container').on('click', 'span', function(e) { 

    var span = $(this), 
    div = e.delegateTarget; 

    console.log(div); 
}); 

DEMO

+4

Birisi 'mümkün değil' gibi bir cevap verdiğinde bunu seviyorum. –

+0

Teşekkürler! Tam olarak aradığım şey buydu. –

-1

kolay yolu sadece olurdu.

+2

Kap bir atandıysa ne olur? –

+2

$ ('# container') 'dan daha kolay? Hehe. –

+0

@mootinator belki/belki değil, ancak daha az karakter. –

İlgili konular