Domanda

Il mio problema: dopo aver caricato alcuni elementi tramite ajax, associo alcune funzioni al clic, ma quando l'utente caricherà alcune volte lo stesso elemento, l'azione associata verrà ripetuta (non sostituirla, almeno come appare). Ho provato unbind o click(function(){return false;}); ma che completa la rimozione dell'azione clic dall'elemento ...). Qual è la soluzione standard di questo tipo di problema?

È stato utile?

Soluzione

Per la maggior parte degli eventi è possibile utilizzare live() (jQuery 1.3 +):

$("td").live("click", function() {
  // do stuff
});

Questo vincolerà un evento click a <td> elementi che diventano esistenti anche dopo aver eseguito questo codice.

Questa è una soluzione molto più pulita rispetto al tentativo di legare / separare e assicurarsi di non avere lo stesso evento associato due volte a un elemento particolare.

Altri suggerimenti

se stai usando jQuery 1.3.2, puoi usare $('').live('click', function() {}); per avere qualsiasi elemento che corrisponda a quel selettore. Mantiene l'evento anche con nuovi elementi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top