如何关注页面加载后加载的元素

时间:2018-10-18 21:58:59

标签: javascript stripe-payments

在加载Stripe输入元素之后,我正在使用以下hack-ish方法:

<div id="card-element">
  <!-- Load stripe stuff here -->
</div>

// <script src="https://js.stripe.com/v3/"></script>
var card = elements.create('card', {style: style});
card.mount('#card-element');

setTimeout(function(){
    card.focus();
},1000);

有没有更好的方法可以做,即检测card元素何时是“可聚焦的”。如果我在页面加载时执行此操作,它只是看不到元素(可能尚未添加该元素,因此它不起作用)。

这是一个示例元素:https://stripe.github.io/elements-examples/(由于无法确定如何加载外部库,我无法将工作示例粘贴到jsfiddle中。)

1 个答案:

答案 0 :(得分:4)

根据docs,您可以在元素上附加一个侦听器,然后在安装后调用focus。

未经测试的代码,但应该看起来像这样

 card.on('ready', function(){
    card.focus();
    }
)