2011-12-21 8 views
8

Ho un div genitore, dire con id = "da rimuovere"Come non associare tutti gli eventi all'interno di un particolare div

Questo div ha più div bambini e ogni bambino DIV può anche avere a sua volta, più div e ognuno di essi può avere eventi href e/o onclick.

C'è un modo per rimuovere tutti questi eventi dall'interno di questo div padre utilizzando jquery ..?

+0

Si prega di prendere del tempo per leggere il [FAQ] (http: //stackoverflow.com/faq). Se la risposta di qualcuno ha risposto alla tua domanda, ti preghiamo di non dimenticare di cliccare sul segno di spunta accanto alla loro [risposta] (http://meta.stackexchange.com/a/5235/171243). –

risposta

23

Hai provato .unbind():

$('#to-remove *').unbind('click'); // just for click events 
$('#to-remove *').unbind(); // for all events 

E come di jQuery 1.7, i .on() e .off() metodi sono preferiti da mettere e togliere i gestori di eventi su elementi. (Da .unbind() documentazione) Quindi, se si sta utilizzando jQuery> 1.7.x allora questo sarebbe meglio:

$('#to-remove *').off(); 
+1

La tua risposta ha più dettagli. Grazie. –

+1

Grazie per la risposta, solo unbind non stava rimuovendo tutti gli eventi. Quindi ho usato questi tre: .unbind ('click'), .attr ('onClick', ''), attr ('href', ''); –

3

Prova:

 
$('#to-remove *').unbind(); 
//or you could assign some class and do 
$('.some-class').unbind(); 
Problemi correlati