我正在尝试触发另一个按钮的单击以在我的Squarespace网站中使用。

我在标题中添加了以下内容:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
    $(document).ready(function() {
        offerteHeader = $( "a.theme-btn--primary-inverse:contains('Offerte aanvragen')" );
        offerteForm = $("button:contains('Offerte aanvragen')");
        offerteHeader.removeAttr("href");
        offerteHeader.on( "click", function() {offerteForm.click()});
    });
</script>


当我单击OfferteHeader按钮时,没有任何反应:(。

当我登录到控制台时,OfferteHeader和offerteForm似乎没有问题。

同样,从chrome开发者控制台中触发offerteForm.click()似乎可以正常工作并触发事件。

我还检查了侦听器是否正在使用到控制台的日志,以及它是否可以引用offerteForm。

这里有什么问题?可以在https://sturgeon-groundhog-cnzt.squarespace.com/上找到该站点,密码为bellboy。抱歉,这是一个Squarespace网站,无法更改。

最佳答案

这不是最佳做法,但可以工作:

$(document).ready(function() {
  var offerteHeader = $("a.theme-btn--primary-inverse:contains('Offerte aanvragen')");
  var offerteForm = $("button:contains('Offerte aanvragen')");
  offerteHeader.click(function(e) {
    setTimeout(function() {
      offerteForm.trigger("click")
    });
  });
});

09-26 12:36