-1
votes

jQuery click () ne pas déclencher sur le bouton

J'essaie d'avoir un bouton cliqué sur surnet code> d'une page, pour un événement par défaut, mais ni click () code> ni déclencheur ("clic") code> semble fonctionner.

Voici un échantillon: p>

https://jsfiddle.net/kneidels/lras6fcy/lras6fcy/ p>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="datepicker form-control" value="2/2/2019" name="date" id="date">
<input type="button" id="getAttendanceRep" value="Display Slots" class="btn" />


0 commentaires

3 Réponses :


5
votes

Vous déclenchez le clic avant em> vous avez attaché le gestionnaire.

Les échangeez-vous pour votre résultat attendu: p>

p>

$("#getAttendanceRep").click(function() { /* ... */ }).click();


5 commentaires

... ou simplement ajouter .Cliquez sur () à la fin de la chaîne.


@ Álvarogonzález ... Autre possibilité, oui.


Merci. Je ne peux pas ajouter le clic () à la fin de la chaîne, car j'appelle cette fonction à différents moments de la page. De plus, je ne savais pas que la fonction devait exister avant de l'appeler - aurait pensé (et était sûre), il fonctionnerait aussi longtemps qu'il existe quelque part sur la page.


@kneidels mettant .Cliquez sur () à la fin ne gardera pas le clic de l'élément par l'utilisateur du travail. Tous les Cliquez sur () À la fin, cela la force à exécuter au moins une fois. En ce qui concerne l'élément qui devait exister sur la page, il doit exister. Si, dans le code source, le script est au-dessus de l'élément, il tentera de cibler, le code s'exécutera avant que les éléments n'existent. Dans ce cas, il devient nécessaire de déplacer le script après que les éléments ciblent ou mettent la logique dans un document prêt ou un gestionnaire d'événements de chargement.


Ces deux dernières options étant disponibles pour retarder l'exécution de la logique jusqu'à ce que le document soit chargé dans le DOM, ou toutes les ressources (images, vidéos, etc.) sont chargées, respectivement.



0
votes

Le Cliquez sur CODE> N'existe pas lorsque vous l'appelez, vous devez donc l'appeler après avoir créé l'événement CODE> Cliquez sur CODE>. Ou une meilleure façon sera de joindre l'événement à la fin de la chaîne, comme celui-ci:

$("#getAttendanceRep").click(function(){
 alert('clicked');
}).click();


1 commentaires

Désolé, d'autres personnes ont répondu aux mêmes réponses avant de les voir.



0
votes

Pour avoir le bouton Cliquez sur l'événement Fire après que la page a chargé, vous devez envelopper un chèque prêt de document comme ceci: xxx

échantillon mis à jour


3 commentaires

Si le document n'est pas prêt lorsque vous faites la liaison, comment cela va-t-il fonctionner? Si la liaison réussit à l'extérieur d'un document prêt, le clic sera certainement également disponible.


Vous ignorez le point. Le problème initial démontré était que l'invocation de click () est arrivé avant la liaison. La solution consistait à mettre simplement le clic () Invocation après la liaison. Sheri ou non, l'utilisateur a / non eu un problème avec l'élément étant disponible pour être sélectionné ou non n'avait pas été démontré. Futhermore Mon point reste. Si le document ne peut pas encore être prêt, la liaison et l'invocation devraient être dans le document prêt


Jsfiddle.net/btgk16vl sans que la liaison soit dans le document prêt, si le script est avant que les éléments ciblés , ça ne marchera pas.