如何在JQuery / JS中触发data- *事件?

时间:2019-05-25 15:11:09

标签: javascript jquery bulma

我实际上是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>

我可以使用此按钮来调用它(如Wiki上所示):

<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相同的快速视图,但使用JQuery。

这是我到目前为止使用第二个按钮尝试过的代码。

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

不幸的是,似乎click()方法无法触发我的第一个按钮的事件。

1 个答案:

答案 0 :(得分:0)

你好!

让我们尝试一下:

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