-3
votes

Comment déclencher Cliquez sur après le contenu prêt?

Je veux déclencher le bouton Cliquez sur le bouton. Mais le problème est que l'événement de clic sera toujours déclenché avant que le bouton ne soit chargé

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


6 commentaires

Pour être généreux, cela ressemble à un XY Problème : Pourquoi voulez-vous Cliquez sur un bouton lorsque la page se charge, au lieu d'appeler simplement quelle que soit la fonction est liée au clic?


Vous cliquez sur le bouton et en attachant l'événement avant d'ajouter le bouton. Votre commande d'actions "sur le document prêt. Liez un gestionnaire d'événements à X, cliquez sur X et créez un élément X et ajoutez-le à la page." C'est comme manger un sandwich avant de le faire.


@msanford Je ne peux pas décrire mon vrai problème, c'est de compliquer ici mais j'ai fait un cas simple que similaire à mon problème


Des commentaires sur les réponses, il semble que vous ne voulez pas changer l'ordre des choses. Vous voulez déclencher un événement de clic sur un élément avant qu'il n'existe ... Vous ne pouvez pas faire ça


Si cela déclenche une action lorsqu'un élément est ajouté à la DOM ... Page "Titre =" Événement lorsque l'élément ajouté à la page "> Stackoverflow.com/questions/7434685/...


Des commentaires, notamment le commentaire "J'ai fait un cas simple" - ce n'est pas le scénario réel que vous avez, je pense que la simplification de cela a caché le problème. Vous semblez chercher à déclencher du code lorsque le DOM est modifié - vous pourriez peut-être utiliser un observateur de mutation: développeur.mozilla.org/en-us/docs/web/api/MutationObserver


6 Réponses :


1
votes

Déplacer $ ("corps"). Ajoutez (' ABC BOUTON>'); CODE> LIGNE TOP INTÉRIEUR $ (document) .Read code> alors il fonctionnera.

Le problème avec votre code est attribuant à l'événement Cliquez sur CODE> et de le déclencher avant de créer cet élément. Donc, cela ne fonctionnera pas. P>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


4 commentaires

Je dois faire cela sans changer l'ordre de mon code, de sorte que le clic fonctionne toujours avant que le bouton soit prêt.


@Myealname en simple mot, je peux dire que ce n'est pas possible. Votre événement de clic ne déclenche pas si l'élément n'est pas encore annexé.


ya je le sais mais je dois faire ça haha


J'ai essayé cela avant de partir ici, mais cela semble être une bonne solution



2
votes

Ajouter Cliquez sur CODE> Event et appelez-le à l'intérieur $ ('. CUSTOM_BUTON'). READY CODE> .Vous pouvez appeler la fonction après code> après la création de Cliquez sur CODE> EVENT

P>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


1 commentaires

Je dois faire cela sans changer l'ordre de mon code, de sorte que le clic fonctionne toujours avant que le bouton soit prêt.



1
votes

Définissez le premier bouton Générez du code, puis définissez l'événement Cliquez sur CLICK.

  $(document).ready(function(){
      $('body').append('<button class="custom_button">abc</button>');
          $('.custom_button').click(function(){
            alert('show');
          });
          $('.custom_button').click();

        });


1 commentaires

Je dois faire cela sans changer l'ordre de mon code, de sorte que le clic fonctionne toujours avant que le bouton soit prêt.



1
votes

Vous pouvez créer une fonction et revenir une promesse. À l'intérieur de la méthode de résolution de la promesse Créez le bouton et une fois que vous avez terminé, utilisez JQuery Trigger à déclencher Cliquez sur Code >.

Aussi vous devez déléguer l'événement en utilisant sur code> p>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


0 commentaires

1
votes

Vous pouvez également essayer cette méthode.

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


0 commentaires

0
votes

Vous devez simplement mettre votre code HTML avant tout chargement de code JQuery. Chaque fois que votre DOM est prêt avec votre contenu HTML avant que la fonction de déclenchement soit appelée.

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


0 commentaires