J'essaie de définir des conditions sur un événement jQuery. J'ai un élément d'entrée et un div. Je veux détecter un clic n'importe où sur la page et exécuter cette méthode mais seulement si le clic n'est pas sur l'entrée ou div.Exclure l'événement de clic en fonction de l'état?
Répondre
Utilisez les fonctions click jQuery() ou de vivre(), puis vérifiez la cible de l'événement clic en utilisant la fonction jQuery est().
- événement click se lient sur le document
- si la cible n'est pas entrée ou div continuer
.
$(document.body).click(function(e) {
if(!$(e.target).is("input, div")) {
console.log("Run function because image or div were not clicked!");
}
});
Exemple page =>http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-document-click-exclusion.html
sortie Exemple Firebug après avoir cliqué sur autour sur exemple la page
@Mike Pas besoin de l'envoyer au nœud de document. L'élément BODY est suffisant. –
Merci Mike, votre exemple a bien fonctionné :-) – tmutton
@ Šime, à droite. Merci. –
Affectez fondamentalement un gestionnaire de clic au corps de la page, puis testez l'élément cible de l'événement pour voir si l'ID de cet élément cible correspond à votre div ou à votre entrée.
$("body").click(function(evt) {
var targetElementId = evt.target.id;
if (!(targetElementId == "yourDivID" || targetElementId == "yourinputId"))
{
// your event code here.
}
});
utilise $ (event.target) car il est normalisé par l'objet événement jquery. http://api.jquery.com/event.target/ –
Vous n'avez pas besoin de normaliser l'objet événement. jQuery le fait pour vous. –
@Sime Vidas ... ouais c'est juste habbit .. –
Quelque chose comme ça devrait fonctionner.
$('body').click(function(event){ // body click
var $target = $(event.target); // click target
if($target.is('#mydiv, #myinput')) { // click target is div or input
$target.click(); // click div or input
}
});
var input = $("#yourInput")[0];
var div = $("#yourDiv")[0];
$(document.body).click(function(e) {
switch (e.target) {
case input: case div: return;
}
yourMethod();
});
Exemple d'exclure des éléments spécifiques à l'aide d'un caractère générique:
$("#mydiv li").click(function(e){
var Target = new String(e.target.id);
// prevent action when a element with id containing 'img_' is clicked
if(!Target.match(/img_/)) {
// do something
}
});
- 1. Fonction de survol et de clic jQuery
- 2. Jquery fonction clic question
- 3. jquery sur la fonction clic
- 4. même fonction de clic JQuery pour de nombreux liens
- 5. Comment exclure certains clics de stopPropagation()? Jquery
- 6. Sur la fonction de clic de Prototype Javascript
- 7. Exclure des objets complexes en fonction de la clé lors de l'énumération d'un NSMutableDictionary
- 8. La fonction de clic de division parent est appelée lorsque l'on clique sur Clic enfant
- 9. comment afficher le code de la fonction de clic associé
- 10. La fonction de clic de JQuery n'est pas définie
- 11. Exclure accidentellement de VisualSVN
- 12. Mettre une fonction de clic href dans un if-else
- 13. Possibilité de configurer Jackson-Json Mapper pour exclure les propriétés en fonction de l'objet en cours de sérialisation?
- 14. Problème avec la fonction de clic dans JQuery
- 15. Inclure/exclure des fichiers en fonction de la cible (Visual Studio)
- 16. Déploiement Web: exclure les répertoires en fonction du nom de la configuration du projet
- 17. C++ .NET Donner 2 boutons la même fonction de clic?
- 18. Comment mettre une fonction de clic dans une fonction de rappel?
- 19. Javascript, Fire Fonction sur le clic
- 20. ActionScript 3 - fonction anonyme comme gestionnaire de clic est appelé plusieurs fois par clic
- 21. Appel d'une fonction en cas de clic jquery lors de l'utilisation des cours
- 22. Comment ajouter un ContextMenu en fonction de la ligne de WPG DataGrid avec un clic droit?
- 23. comment généraliser une fonction de clic dans jquery
- 24. Ajout d'une fonction de clic avec jQuery fonctionne pas
- 25. JQuery Div ne pas animer dans la fonction de clic
- 26. jquery obtenir l'ID/valeur de LI après clic fonction
- 27. Appel d'une fonction jQuery avec clic()
- 28. jquery plugin étoiles et jquery clic fonction
- 29. bascule fonction passe sur deuxième clic
- 30. Exécuter une fonction sur un clic
Alors es-tu en train de dire que tu veux pouvoir appeler une fonction chaque fois qu'un utilisateur clique sur la page et que ce n'est pas sur l'entrée ou div? –