首页 > 解决方案 > 如何将光标聚焦在条纹输入元素上

问题描述

我正在尝试添加带有条纹元素的信用卡表格(https://stripe.com/docs/stripe-js/reference#other-methods)。

通常我会通过以下方式专注于一个元素:

$('input[type="tel"]').focus()

但是,这不适用于 Stripe 信用卡输入。但是,以下方法确实有效:

$('input[type="tel"]').value='asdf'

所以它正在抓取正确的项目。如何将光标聚焦在输入项上?看起来它可能在 iframe 中,即使我可以在 jquery/javascript 中为它写入一个值。

标签: javascriptjquerystripe-payments

解决方案


在调用之前,元素需要完全初始化focus()。使用简单的事件处理程序确保元素已准备就绪:

element.on('ready', () => {
  element.focus()
})

推荐阅读