La solita causa di questo è che sei anche usando Prototype, MooTools, o qualche altra libreria che fa uso del simbolo $
, e il gioco è compresa quella libreria jQuery dopo, e in modo che libreria è " vincere "(prendendo $
per se stesso). Quindi il valore di ritorno di $
non è un'istanza di jQuery e quindi non ha metodi jQuery su di esso (come on
).
È possibile utilizzare jQuery con le altre librerie, ma se lo fai, è necessario utilizzare il simbolo jQuery
piuttosto che il suo alias $
, ad esempio:
jQuery('body').on(...);
E di solito è meglio se si aggiunge questo subito dopo il tag script
tra cui jQuery, prima di quello compreso l'altra libreria:
<script>jQuery.noConflict();</script>
... non anche se è necessario se si carica il OTH er library dopo jQuery (è se prima carichi l'altra libreria).
L'utilizzo di più librerie di manipolazione DOM a pieno titolo sulla stessa pagina non è l'ideale, tuttavia, solo in termini di peso della pagina. Quindi, se riesci ad usare solo Prototype/MooTools/qualunque o solo jQuery, di solito è meglio.
fonte
2013-03-27 22:06:04
Hai fatto includere jQuery versione 1.7 o più recente, e hai fatto avvolgere il tuo codice in document.ready giusto? – adeneo
Sì, ho aggiunto jquery 1.7 – user1613870
Non ho ancora implementato alcun codice per lightbox, se aggiungo solo file js e css ho questo errore – user1613870