单击功能结束时的按钮

时间:2016-02-16 15:16:37

标签: javascript jquery

当有人点击“创建帐户”时,我会使用条带结帐按钮弹出,然后一旦他们输入信用卡信息,弹出窗口就会关闭。

如何在弹出窗口关闭后以编程方式单击“创建帐户”按钮?

这是序列 1)用户点击创建帐户按钮 2)弹出窗口打开 3)弹出窗口关闭,然后以编程方式单击按钮

我认为它是这样的,但我还没有让它工作。按钮ID是#create_stripe

$("#create_stripe").click();

代码:

<script>
  var handler = StripeCheckout.configure({
    key: 'pk_test',
    image: '/img/documentation/checkout/marketplace.png',
    locale: 'auto',
    token: function(token) {
      // Use the token to create the charge with a server-side script.
      // You can access the token ID with `token.id`
    }
  });

  $('#create_stripe').on('click', function(e) {
    // Open Checkout with further options
    handler.open({
      name: 'Demo Site',
      description: '2 widgets',
      amount: 2000
    });
    e.preventDefault();
  });

  // Close Checkout on page navigation
  $(window).on('popstate', function() {
    handler.close();

  });


</script>

5 个答案:

答案 0 :(得分:0)

您应该使用$("#create_stripe").click()。见click() in jQuery。但是直接使用它:`

$(window).on('popstate', function() {
   $("#create_stripe").click()
});

答案 1 :(得分:0)

其中任何一个:

document.getElementById('create_stripe').click(); 
$('#create_stripe').click();

答案 2 :(得分:0)

只需触发它。由于您要执行已放置在click事件中的代码,因此可以使用$("#create_stripe").trigger('click')

触发该代码

编辑:根据您的评论,我认为您需要这样的内容:

  var handler = StripeCheckout.configure({
    key: 'pk_test',
    image: '/img/documentation/checkout/marketplace.png',
    locale: 'auto',
    token: function(token) {
      // Use the token to create the charge with a server-side script.
      // You can access the token ID with `token.id`
    },
    closed: function (){
        $("#create_stripe").trigger('click')
    }
  });

答案 3 :(得分:0)

您应该使用click()方法。 $(element).trigger('click'); // or the event you need 方法不明确,因为它可以作为侦听器和触发器。因此,如果你打电话给触发器,你就不会有不明确的行为:

<div class="shop3">
<ul class="shop-list">
<li class="shop-unit" style="background: url('#');">
<div class="shop-unit-overlay">
<div class="su">
<div class="su1">#</div>
<div class="su2">#</div>
<div class="su3"><a href="#">SHOP NOW</a></div>
</div>
</div>
</li>
<li class="shop-unit" style="background: url('#')">
<div class="shop-unit-overlay">
<div class="su">
<div class="su1">#</div>
<div class="su2">#</div>
<div class="su3"><a href="#">SHOP NOW</a></div>
</div>
</div>
</li>
<li class="shop-unit" style="background: url('#');">
<div class="shop-unit-overlay">
<div class="su">
<div class="su1">#</div>
<div class="su2">#</div>
<div class="su3"><a href="#">SHOP NOW</a></div>
</div>
</div>
</li>
<li class="shop-unit" style="background: url('#');">
<div class="shop-unit-overlay">
<div class="su">
<div class="su1">#</div>
<div class="su2">#</div>
<div class="su3"><a href="#">SHOP NOW</a></div>
</div>
</div>
</li>
</ul>
</div>

更多信息:

http://api.jquery.com/trigger/

答案 4 :(得分:0)

使用$( "#foo" ).trigger( "click" );