$(document).on(“click”... pas de travail?

Est-il bien connu erreur que j'ai pu faire ici?

J'ai un script qui utilise .sur (), parce qu'un élément est généré dynamiquement, et il ne fonctionne pas. Juste pour tester, j'ai remplacé le sélecteur avec la dynamique de l'élément d'enveloppement, qui est statique, et il ne fonctionne toujours pas! Quand je suis passé à la plaine de vieux .cliquez sur pour l'écharpe, il a travaillé, si.

(Ce qui ne veut pas travailler pour l'élément dynamique de toute évidence, le seul qui compte.)

Cela fonctionne:

$("#test-element").click(function() {
    alert("click");
});

Ce n'est pas le cas:

$(document).on("click","#test-element",function() {
    alert("click");
});

Mise à JOUR:

J'ai cliqué droit et de fait "Inspecter l'Élément" dans Chrome il suffit de double-vérifier quelque chose, et puis après que l'événement click travaillé. J'ai actualisé et il n'a pas de travail, inspecter l'élément, puis il a travaillé. Qu'est-ce que cela signifie?

  • Êtes-vous créer plus d'un élément avec le même ID ?
  • Poster simplement le jQuery sans HTML, ce qui rend difficile de les aider.
  • Hiya OP, veuillez vérifier la version de Jquery que vous utilisez, :) ou vers un violon, je pourrais vous aider,
  • Vous code est censé fonctionner. Le on fonction a été ajoutée dans jquery 1.7, assurez-vous d'avoir une version récente. Edit : la preuve pour vous qu'il fonctionne sur le violon
  • Votre deuxième exemple fonctionne avec la dernière 1.x version de jQuery: jsfiddle.net/AJPdS
  • #test est l'élément dynamique ou l'emballage d'éléments dynamiques?
  • #test est l'élément d'emballage. J'ai Jquery 1.10.2. (J'ai eu 1.9.2, mais j'ai mis à jour et il ne fonctionne toujours pas)
  • Ensuite, essayez ce $('#test-element').on("click","*",function() ou $(document).on("click","#test-element *",function() cela permettra de fixer gestionnaire d'événements pour les enfants.
  • Enveloppez-les dans du $(document).ready()
  • $(document).sur les() ne fonctionne pas, même pour l'écharpe, si.
  • Fonctionne très bien ici: jsfiddle.net/j08691/TkLex
  • Pouvez-vous fournir le code?
  • Avez-vous essayé un autre navigateur?
  • Je dirais que nous avons épuisé toutes nos suppositions. Nous aurons besoin de code à fournir toute autre idée.
  • C'est bizarre, si vous déclenchez cliquez sur, cela fonctionne, si vous cliquez directement, il n'est pas fiddle.jshell.net/Palestinian/MEAkF
  • votre violon fonctionne très bien si vous cliquez sur l'enfant.
  • Encore une fois, êtes-vous l'insertion d'un élément avec le même ID d'un élément déjà existant. Si oui, cela ne fonctionnera jamais, peu importe ce que vous faites.
  • Je vais revenir avec un peu de code lorsque j'ai eu la chance si je n'ai pas le comprendre, j'espérais que quelqu'un pense à s'en sortir. Merci pour la tentative, les gars. (C'est un 3000 ligne de la page)
  • Je suis de l'iPad, sa ne marche pas même avec le tap, merci copain 🙂
  • eh bien, si c'est de 3000 lignes de code, de s'assurer de quelque chose n'est pas à défaut d'avant.
  • Ouais, il n'est pas. J'ai été vigoureusement les tests de chaque pièce que je la mettre en œuvre.
  • Vous ne savez pas si quelqu'un l'a déclaré, mais si vous n'avez pas de travail sur cliquez d'abord, mais ensuite la deuxième, et rafraîchissant ne marche pas il est lié pendant le premier événement de clic. La liaison est incorrect.
  • Essayez de vider le cache, ou lors de l'utilisation de l'outil d'inspection dans Chrome (DevTools), allez à l'onglet Réseau, puis cliquez sur Désactiver le cache

InformationsquelleAutor Mr. Lavalamp | 2013-07-11