web-dev-qa-db-fra.com

déclencheur de clic du corps avec jQuery

Je ne parviens pas à déclencher un clic sur la balise body à l'aide de jQuery, j'utilise cette ...

$('body').click();

même cela échoue

$('body').trigger('click');

Des idées?!

8
ruturaj

intéressant .. quand j'ai remplacé

$("body").trigger("click")

avec

jQuery("body").trigger("click")

ÇA A MARCHÉ!!!

11
ruturaj

Vous devriez avoir quelque chose comme ça:

$('body').click(function() {
   // do something here
});

La fonction de rappel sera appelée lorsque l'utilisateur cliquera quelque part sur la page Web. Vous pouvez déclencher le rappel par programme avec:

$('body').trigger('click');
9
kgiannakakis

J'ai utilisé le code suivant plusieurs fois et ça marche très bien:

$("body").click(function(e){
  //you can then check what has been clicked
  var target = $(e.target);  
  if (target.is("#popup")) { }
}); // Added ); this for correct syntax
5
Fermin

si tout a été dit n'a pas fonctionné, retournez à l'essentiel et testez si cela fonctionne:

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
  </head>
  <body>
    <script type="text/javascript">
      $('body').click(function() {
        // do something here like:
        alert('hey! The body click is working!!!')
      });
    </script>
  </body>
</html>

alors dites-moi si ça marche ou pas.

2
Seeker

Comme mentionné par Seeker, le problème pourrait être que vous avez configuré la fonction click() trop tôt. À partir de votre extrait de code, nous ne pouvons pas savoir où vous avez placé le script ni s'il est exécuté au bon moment.

Un point important consiste à exécuter ces scripts une fois le document prêt. Ceci est fait en plaçant l'initialisation click() dans cette autre fonction comme dans:

jQuery(document).ready(function()
  {
    jQuery("body").click(function()
      {
        // ... your click code here ...
      });
  });

C'est généralement la meilleure méthode, surtout si vous incluez votre code JavaScript dans votre balise <head>. Si vous l'incluez tout en bas de la page, la fonction ready() est moins importante, mais elle peut toujours être utile.

0
Alexis Wilke