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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (180)

我实际上是JQuery的新手,我试图从css框架Bulma触发一个快速视图,你可以在这里获得关于quickview的文档:

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调用quickview,我该怎么办?

到目前为止,当我点击第二个按钮时,我已经尝试点击了与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。

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

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

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

提问于
用户回答回答于

你好 !

我们试试这个:

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

扫码关注云+社区

领取腾讯云代金券