web-dev-qa-db-fra.com

$ (document) .ready ne fonctionne pas

J'essaie d'exécuter jQuery et WebMethods avec ASP.NET; J'ai ajouté un ScriptManager à la page principale et un contenu sur la page de contenu.

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

Cependant cela ne se déclenche jamais, qu'est-ce qui me manque?

18
paul simmons

Vérifiez les étapes suivantes.

  1. Avez-vous inclus jquery
  2. Vérifier les erreurs dans firebug

Ces choses devraient résoudre le problème

28
kobe

Une possibilité lorsque ready cesse de fonctionner est que vous ayez un code javascript qui lève une exception dans un appel $(document).ready(...) ou $(...), ce qui arrête le traitement du reste des blocs ready. Identifiez une seule page sur laquelle cela se produit et examinez-la à la recherche d'erreurs éventuelles ailleurs.

19
Dave Cousineau

Au lieu d'utiliser ceci:

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

Utilisez ceci:

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

Il est plus concis et fait la même chose, il ne dépend pas non plus de la variable $ pour être l'objet jQuery. 

8
harshal lonare

Cela se produira si la page Host est HTTPS et si le chemin source javascript inclus est HTTP. Les deux protocoles doivent être identiques, HTTPS. Le signe de la fin serait de vérifier sous Firebug et de noter que le JS se voit "refuser l'accès".

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

c'est le scriptManager ajax rendant le problème utiliser pageLoad () à la place

1
Rom Mil

J'avais copié ma variable js en ligne à partir d'un autre projet .php; à l'intérieur de ce bloc de code, il y avait du code php générant une valeur. Désormais, la variable n'étant pas définie dans mon nouveau fichier, elle produisait la variable typique phpundefined warning/error de ce que le code js était foiré, et ne répondait à aucun événement, même alert("xyz"); échouerait en silence !! Bien que la ligne erronée soit bien proche de la fin du fichier, la variable js mourrait aussi,

sans aucune erreur !!! > :(

Une chose qui confond maintenant est que la console/sortie du débogueur ne donnait aucun indice/erreur/avertissement, la js mourait en silence.

Essayez donc de vérifier si vous avez php en ligne codé avec js et voyez si elle génère une erreur. Une fois retiré/trié, votre js devrait bien fonctionner.

1
Mohd Abdul Mujib

Une possibilité, jetez un oeil:

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

contre

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

La première méthode est en fait erronée, mais le navigateur ne se plaint pas du tout. Vous devez être sûr que vous fermez correctement la balise JavaScript.

0
agodinhost