Je souhaite utiliser la méthode live pour masquer un élément si l'utilisateur clique n'importe où sur la page en dehors de cet élément. C'est exactement ce que fait clickoutside plugin, mais avec des éléments chargés ajax. auriez vous des idées pour faire ça?cliquez en dehors du sélecteur en direct
3
A
Répondre
1
Quelque chose comme
$("yourelementselector").live("click", function(){
// your code
return false; // prevents bubbling of event
});
$("body").click(function(){
var yourElement = $("yourelementselector");
if (yourElement.is(:visible))
{
yourElement.hide();
}
});
0
Vous pouvez le faire:
$("#myElement").live('click', function(){
return false;
});
$("body").live('click', function(){
$("#myElement").hide();
});
Comment ça marche: Si vous cliquez sur l'élément, l'événement click ne pas la bulle, ce qui provoque un clic sur le <body>
élément. Si vous cliquez à l'extérieur de l'élément, il se met à bouillir et finit par atteindre <body>
, ce qui cache votre élément.
0
Il est un exemple une version modifiée de l'événement clickoutside qui fonctionne avec en direct: http://benalman.com/news/2010/03/jquery-special-events/#highlighter_680190
soin d'expliquer la raison du vote down ?? – rahul