2 votes

Comment déclencher l'événement data-* dans JQuery/JS ?

Je suis en fait nouveau à JQuery, et j'essaie de déclencher une vue rapide à partir du cadre css Bulma, vous pouvez obtenir la documentation sur la vue rapide ici :

https://wikiki.github.io/components/quickview/

La vue rapide est configurée comme suit :

<div id="quickviewDefault" class="quickview">
  <header class="quickview-header">
    <p class="title">Quickview title</p>
    <span class="delete" data-dismiss="quickview"></span>
  </header>

  <div class="quickview-body">
    <div class="quickview-block">
      ...
    </div>
  </div>

  <footer class="quickview-footer">

  </footer>
</div>

Et je peux l'appeler avec ce bouton (comme vu sur le wiki) :

<button class="button is-primary" data-show="quickview" data-target="quickviewDefault">Show quickview</button>

Jusqu'à présent, cela fonctionne, mais je veux créer un deuxième bouton qui appellera la vue rapide avec JQuery, comment puis-je le faire ?

Jusqu'à présent, j'ai essayé de cliquer sur le bouton qui fonctionne très bien avec JQuery lorsque je clique sur mon deuxième bouton.

<!-- First button, work great -->
<button class="button is-primary" data-show="quickview" data-target="quickviewDefault">Show quickview</button>

<!-- Second button, doesn't work yet -->
<button class="clickmeplz">></button>

Le premier bouton fonctionne bien, et le second doit appeler la même quickview que le premier mais avec JQuery.

Voici le code que j'ai essayé jusqu'à présent avec mon deuxième bouton.

$(document).ready(function(){
    $(".clickmeplz").click(function(){
         $('button[data-target="quickviewDefault"]').click();
    });
});

Malheureusement, il semble que la méthode click() ne puisse pas déclencher l'événement de mon premier bouton comme ceci.

0voto

RyFax Points 40

Bonjour !

Essayons ceci :

$(document).ready(function(){
    $(".clickmeplz").click(function(){
        if($('div#quickviewDefault.is-active').length) { //If the quickview is showed
            $('div#quickviewDefault.is-active').removeClass('is-active'); //Remove the class to hide
        }else { 
            $('div#quickviewDefault').addClass('is-active'); //Add the class to show
        }
    });
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X