Как вызвать событие data- * в JQuery / JS? - PullRequest
2 голосов
/ 25 мая 2019

Я на самом деле новичок в JQuery, и я пытаюсь вызвать быстрый просмотр из среды CSS Bulma, вы можете получить документацию по краткому обзору здесь:

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

Быстрый просмотр настроен следующим образом:

<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>

И я могу вызвать его с помощью этой кнопки (как показано в вики):

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

Пока это работает, но я хочусоздать вторую кнопку, которая будет вызывать быстрый просмотр с JQuery, как я могу это сделать?

До сих пор я пытался нажать на кнопку, которая отлично работает с JQuery, когда я нажимаю на вторую кнопку.

<!-- 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>

Первая кнопка работает хорошо, а вторая должна вызывать тот же самый быстрый просмотр, что и первая, но с JQuery.

Это код, который я пробовал до сих пор со своей второйbutton.

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

К сожалению, похоже, что метод click () не может вызвать событие моей первой кнопки, как это.

1 Ответ

0 голосов
/ 25 мая 2019

Привет!

Давайте попробуем это:

$(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
        }
    });
});
...