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

AbdulAhmad Matin Punkte 997

wenn script Tag hat defer Attribut wird der Fehler angezeigt

Ungefangener ReferenceError: $ ist nicht definiert

und muss das Attribut defer von script Tag

0voto

Pat Punkte 507

Es gibt eine Möglichkeit, Javascript automatisch zu laden, bevor der Rest des Codes ausgeführt wird.

Zu den Ansichten gehen \Shared_Layout.html und fügen Sie Folgendes hinzu

<head>
  <*@ Omitted code*@>
  <script src="~/Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
</head>

0voto

BHOW Punkte 139

Ich hatte ein sehr ähnliches Problem. In meiner C# MVC-Anwendung wurde JQuery nicht erkannt. Ich musste die @Scripts.Render("~/bundles/jquery") vom unteren Ende meiner _Layout.cshtml-Datei an den Kopf des Abschnitts verschieben. Stellen Sie auch sicher, dass Sie Jquery als Nuget-Paket gepackt haben, wenn Sie Visual Studio verwenden!

<head>
    @Scripts.Render("~/bundles/jquery")
</head>

0voto

amelian Punkte 394

Ich habe das gleiche Problem und kein Fall löst mich das Problem. Die einzige Sache, die für mich funktioniert, ist es auf die der Site.master Datei, die nächste setzen:

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

Mit src="<%= ResolveUrl("")... ist das Laden von jQuery in den Content Pages korrekt.

0voto

sc123 Punkte 1

Es scheint, dass, wenn Sie Ihre jquery.js-Dateien unter dem gleichen Ordner oder in einigen Unterordnern, wo Ihre html-Datei ist, das Firebug-Problem gelöst ist. z.B. wenn Ihre html ist unter C:/Ordner1/, dann Ihre js-Dateien sollten irgendwo unter C:/Ordner1/ (oder C:/Ordner1/Ordner2 usw.) als auch und entsprechend in der html-Doku adressiert werden. hoffe, das hilft.

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