$('body').on('click', '.rien', function(){})
$('body').on('click', '.anything', function() {
//code
});
ne fonctionne pas pour rien en ce moment et je ne peux pas comprendre pourquoi. Je suis capable de point d'ancrage à autre chose, dire que je viens de jeter un #wrap
div droit à l'intérieur de la body
. Ensuite, je suis capable de faire
$('#wrap').on('click', '.anything', function() {
//code
});
pour tout élément que je veux.
Une idée de ce que j'ai pu faire pour désactiver cette fonctionnalité dans l'élément de corps?
Merci!
avez-vous une
pas que je sache 🙁
Je ne peux pas le reproduire. Pourriez-vous mis en place un jsfiddle.net démo? Il doit y avoir quelque chose qui se passe sur votre page, qui n'est pas incluse dans la question.
si vous voulez faire une fonction liée avec l'événement de clic sur le corps sans objet / non disponible pour certains <div> ou quelque chose?
Essayez de remplacer
event.stopPropagation()
ou return false
en un clic-gestionnaire entre l'élément que vous êtes en cliquant et la body
élément?pas que je sache 🙁
Je ne peux pas le reproduire. Pourriez-vous mis en place un jsfiddle.net démo? Il doit y avoir quelque chose qui se passe sur votre page, qui n'est pas incluse dans la question.
si vous voulez faire une fonction liée avec l'événement de clic sur le corps sans objet / non disponible pour certains <div> ou quelque chose?
Essayez de remplacer
body
dans le sélecteur html
ou document
(sans les guillemets), et voir si cela résout le problème ?OriginalL'auteur fancy | 2012-08-12
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
$(document)
. C'est une fonction de déclencheur pour tout événement click dans le document. Puis à l'intérieur, vous pouvez utiliser le jqueryon("click","body *",somefunction)
, où le deuxième argument spécifie l'élément spécifique de la cible. Dans ce cas, chaque élément à l'intérieur du corps.merci de me faire corriger. je n'ai pas l'expliquer parce que je ne suis pas anglophone, et mon anglais n'est pas bien. mais j'ai essayé de mon mieux.
Je comprends, j'ai édité l'anglais dans votre post pour être un peu plus clair maintenant. Généralement, les gens vont modifier les messages afin de les améliorer comme ça je vous encourage donc à expliquer le code, même si vous êtes inquiet au sujet de la qualité de votre anglais.
Merci, merci beaucoup @SuperBiasedMan
OriginalL'auteur Syed Arif Iqbal
Si vous ne voulez pas
$('body').on('click'
fonction, il suffit de modifier la fonction de$('#some_div_id').on('click'
. Si vous voulez étirer div par le corps (100% de la hauteur et de la largeur), puis Ici est une démo.Note: la démo a 20% de remplissage à corps.
OriginalL'auteur blasteralfred Ψ
Vous pouvez essayer ceci:
Vous devez suivre le format suivant
*JQuery code*
OriginalL'auteur Codegiant
Si vous voulez capturer, cliquez sur tout, alors ne
- Je l'utiliser pour sélecteur: http://api.jquery.com/all-selector/
Ce est utilisé pour le traitement des clics: http://api.jquery.com/click/
Et ensuite utiliser http://api.jquery.com/event.preventDefault/
Pour arrêter la normale, en cliquant sur actions.
En outre à ce que Joseph a dit, l'exemple de code dans la question (si ce n'est pour le mystérieux problème), appeler le gestionnaire uniquement lorsque l'élément cliqué correspond à la
'.anything'
sélecteur. Concernant votre commentaire "et le mobile n'a pas été dit", si c'est un site public, il obtiendra accessible à partir d'appareils mobiles - les OP ne devriez pas nécessaire de le préciser expressément.En outre, si un élément est de 10 niveaux de profondeur, depuis que le code est associé à tous, il tire 10 fois - l'un pour l'élément et 9 pour ses parents?
OriginalL'auteur LmC