webentwicklung-frage-antwort-db.com.de

$ (Dokument) .ready funktioniert nicht

Ich versuche, jQuery und WebMethods mit ASP.NET auszuführen. Ich habe der Masterseite einen ScriptManager und einen Inhalt der Inhaltsseite hinzugefügt

<asp:Content ID="ch" ContentPlaceHolderID="cHead" runat="server">
    <script language="javascript" type="text/javascript">
       $(document).ready(function () {
          alert("hi");
       });
    </script>
</asp:Content>

Aber das feuert nie, was fehlt mir?

18
paul simmons

Überprüfen Sie die folgenden Schritte.

  1. Haben Sie Jquery hinzugefügt?
  2. Überprüfen Sie den Firebug auf Fehler

Diese Dinge sollten das Problem beheben

28
kobe

Wenn ready nicht mehr funktioniert, besteht die Möglichkeit, dass Sie irgendwo Javascript-Code haben, der eine Ausnahme in einem $(document).ready(...)- oder $(...)-Aufruf auslöst, wodurch die Verarbeitung der übrigen ready-Blöcke abgebrochen wird. Identifizieren Sie eine einzelne Seite, auf der dies geschieht, und untersuchen Sie sie an anderen Stellen auf mögliche Fehler.

19
Dave Cousineau

Anstelle dieses zu verwenden:

$(document).ready(function() { /* your code */ });

Benutze das:

jQuery(function($) { /* your code */ })(jQuery);

Es ist prägnanter und macht dasselbe, es hängt auch nicht von der $-Variablen ab, die das jQuery-Objekt ist. 

8
harshal lonare

Dies geschieht, wenn die Host-Seite HTTPS ist und der enthaltene JavaScript-Quellpfad HTTP ist. Die beiden Protokolle müssen identisch sein, HTTPS. Das Tell-Tail-Zeichen wäre, unter Firebug zu prüfen, dass der JS "Zugriff verweigert" wird.

1
Richard
function pageLoad() {
    console.log('pageLoad');
    $(document).ready(function () {
        alert("hi");
    });
};

es ist der ScriptManager-Ajax, der das Problem verursacht Verwenden Sie stattdessen pageLoad ()

1
Rom Mil

Ich hatte meine Inline js aus einem anderen .php-Projekt kopiert. In diesem Codeblock befand sich ein php-Code, der einen Wert ausgab. Jetzt, da die Variable nicht in meiner neuen Datei definiert war, erzeugte sie den typischen phpundefined warning/error und weil davon wurde der js-Code durcheinandergebracht und reagierte nicht auf ein Ereignis, selbst alert("xyz"); würde im Stillen fehlschlagen !! Obwohl sich die fehlerhafte Zeile am Ende der Datei befand, würde die Variable js auch dies sterben.

ohne fehler !!! > :(

Verwirrend ist nun, dass die Debugger-Konsole/-Ausgabe keinerlei Hinweis/Fehler/Warnung enthielt. Die Variable js starb stumm.

Prüfen Sie also, ob Sie php inline mit der js codiert haben, und prüfen Sie, ob ein Fehler ausgegeben wird. Nach dem Entfernen/Sortieren sollte Ihre js gut funktionieren.

1

Eine Möglichkeit, schauen Sie mal:

<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js" />

vs

<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js"></script>

Die erste Methode ist eigentlich falsch, jedoch beschwert sich der Browser überhaupt nicht. Sie müssen sich vergewissern, dass Sie den Javascript-Tag tatsächlich schließen.

0
agodinhost
  • Prüfen Sie, ob Ihr Skript nach dem jQuery-Link geschrieben oder geladen werden muss.
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>

//after link >> write codes...

<script>
    $(document).ready(function(){
      //your code
    })(jQuery);
</script>
0
MohammadSoori