591 Stimmen

JQuery - $ ist nicht definiert

Ich habe eine einfache Jquery-Klick-Ereignis

<script type="text/javascript">
    $(function() {
        $('#post').click(function() {
            alert("test"); 
        });
    });
</script>

und eine Jquery-Referenz, die in der site.master definiert ist

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>

Ich habe überprüft, dass das Skript korrekt aufgelöst wird, ich kann das Markup sehen und das Skript direkt in Firebug anzeigen, also muss ich gefunden werden. Allerdings bin ich immer noch bekommen:

$ ist nicht definiert

und keine der Jquery funktioniert. Ich habe auch versucht, die verschiedenen Variationen von diesem wie $(document).ready und jQuery usw.

Es ist ein MVC 2 app auf .net 3.5, ich bin sicher, ich bin wirklich dumm, überall auf Google sagt zu überprüfen, die Datei korrekt referenziert wird, die ich überprüft habe und wieder überprüft, bitte beraten! :/

0voto

Gavin Punkte 6570

Ich hatte das gleiche Problem und konnte nicht herausfinden, was die Ursache dafür war. Ich habe kürzlich meine HTML-Dateien von Japanisch in UTF-8 konvertiert, aber ich habe nichts mit den Skriptdateien gemacht. Irgendwie wurde dabei jquery-1.10.2.min.js beschädigt (ich habe immer noch keine Ahnung, wie). Das Ersetzen von jquery-1.10.2.min.js durch das Original hat das Problem behoben.

0voto

Spring Punkte 10252

Nachdem ich hier alles ohne Ergebnis ausprobiert habe, habe ich das Problem gelöst, indem ich den src-Tag des Skripts von body nach head verschoben habe

0voto

Anthony Punkte 5175

In meinem Fall habe ich auf das von Google gehostete JQuery verwiesen. Es wurde ordnungsgemäß eingebunden, aber ich befand mich auf einer HTTPS-Seite und rief es über HTTP auf. Sobald ich das Problem behoben hatte (oder unsichere Inhalte zugelassen hatte), ging es sofort los.

0voto

Francis Musignac Punkte 161

Bei der Verwendung von jQuery in asp.net, wenn Sie eine Master-Seite verwenden und Sie laden die jquery-Quelldatei gibt, stellen Sie sicher, dass Sie die Kopfzeile contentplaceholder nach allen jquery-Skript Verweise haben.

Ich hatte ein Problem, bei dem alle Seiten, die diese Masterseite verwendeten, "$ ist nicht definiert" zurückgaben, einfach weil die falsche Reihenfolge den clientseitigen Code laufen ließ, bevor das Jquery-Objekt erstellt wurde. Stellen Sie also sicher, dass Sie haben:

<head runat="server">
    <script type="text/javascript" src="Scripts/jquery-VERSION#.js"></script>
    <asp:ContentPlaceHolder id="Header" runat="server"></asp:ContentPlaceHolder>
</head>

Auf diese Weise wird der Code in der richtigen Reihenfolge ausgeführt und Sie können den jQuery-Code auf den untergeordneten Seiten ausführen.

0voto

Wir haben das gleiche Problem....aber versehentlich habe ich die Ordnereigenschaften überprüft und etwas eingestellt...

Sie müssen die Eigenschaften jedes Ordners, auf den Sie zugreifen, überprüfen.

  1. Rechtsklick auf Ordner
  2. Registerkarte "Berechtigungen
  3. den Ordnerzugang einstellen: OWNER: Dateien erstellen und löschen GROUP: Zugriff auf Dateien OTHERS: Zugriff auf Dateien

Ich hoffe, dass dies die Lösung ist......

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X