2013-02-02 8 views
5

Ho un pulsante all'interno di un div per nascondere quel div e voglio passare il div al gestore. Qui è il mio codice corrente:Ottieni contenitore con on() in jQuery

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

C'è un modo per evitare di riselezionare il contenitore? Qualcosa di simile a questo sarebbe bello:

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

possibile duplicato di [Ottenere l'elemento a cui è associato un evento delegato - jQuery] (http://stackoverflow.com/questions/8244350/getting-the-element-that-a-delegated-event-is-bound -to-jquery) –

+0

@FelixKling: questa è la seconda volta che mi hai beccato e giustamente perché la domanda che hai postato è esattamente quello che volevo :) A causa del mio vocabolario jQuery limitato al momento, non riuscivo a formare la ricerca corretta query. Per favore aiutami a chiudere questa domanda. –

+0

Oh è? :) Non preoccuparti, è logico che più domande esistono, sempre più duplicati. E sì, uno dei maggiori problemi è che non riesci a trovare una soluzione/domanda, quando non sai cosa devi cercare;) –

risposta

6

event.delegateTarget contiene un riferimento elemento DOM.

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

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

Dovreste ancora di avvolgerla in un oggetto jQuery, ma la creazione di oggetti jQuery da DOM riferimenti elemento non ricerca il DOM.

+1

Grazie. Questo è quello che sto cercando. –