2013-02-02 12 views
5

Mam przycisk wewnątrz div, aby ukryć ten div i chcę przekazać div do obsługi. Tu jest mój bieżący kod:Zdobądź pojemnik za pomocą on() w jQuery

$('#hidden-div').on('click', '#hide-btn', { element : $('#hidden-div') }, hideElement); 

Czy istnieje jakiś sposób, aby uniknąć ponownego wybierania pojemnik? Coś takiego byłoby miło:

$('#hidden-div').on('click', '#hide-btn', { element : $(this) }, hideElement); 
+0

możliwy duplikat [Pobieranie elementu, do którego jest przypisane zdarzenie delegowane - jQuery] (http://stackoverflow.com/questions/8244350/getting-the-element-athe--delegated-event-is-bound -to-jquery) –

+0

@FelixKling: to już drugi raz, gdy mnie zepsułeś i słusznie, ponieważ pytanie, które wysłałeś, jest dokładnie tym, czego chciałem :) Z powodu mojego ograniczonego słownictwa jQuery w tej chwili, nie mogłem utworzyć poprawnego wyszukiwania pytanie. Pomóż mi zamknąć to pytanie. –

+0

O co chodzi? :) Nie martw się, to logiczne, że im więcej pytań, tym więcej będzie duplikatów. I tak, jednym z największych problemów jest to, że nie możesz znaleźć rozwiązania/pytania, kiedy nie wiesz, czego szukać;) –

Odpowiedz

6

event.delegateTarget posiada odniesienie elementu DOM.

$('#hidden-div').on('click', '#hide-btn', hideElement); 

function hideElement(e) { 
    $(e.delegateTarget)//do stuff 
} 

Można by jeszcze owinąć go wewnątrz obiektu jQuery, ale tworzenie obiektów jQuery z odniesieniami elementu DOM nie kwerendy DOM.

+1

Dzięki. Tego właśnie szukam. –