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?!
intéressant .. quand j'ai remplacé
$("body").trigger("click")
avec
jQuery("body").trigger("click")
ÇA A MARCHÉ!!!
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');
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
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.
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.