Javascript 如何将光标聚焦在条带输入元素上

Javascript 如何将光标聚焦在条带输入元素上,javascript,jquery,stripe-payments,Javascript,Jquery,Stripe Payments,我正在尝试添加带有条带元素()的信用卡表单 通常,我会通过以下方式关注某个元素: $('input[type="tel"]').focus() 但是,这不适用于条带信用卡输入。但是,以下方法确实有效: $('input[type="tel"]').value='asdf' 因此,它抓住了正确的项目。如何将光标聚焦在输入项上?看起来它可能在iframe中,即使我可以用jquery/javascript为它写一个值。您应该在您创建的元素上使用focus(),而不是div本身 例如,您可以有一个按

我正在尝试添加带有条带元素()的信用卡表单

通常,我会通过以下方式关注某个元素:

$('input[type="tel"]').focus()
但是,这不适用于条带信用卡输入。但是,以下方法确实有效:

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

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

您应该在您创建的元素上使用
focus()
,而不是div本身

例如,您可以有一个按钮,通过执行以下操作为CVC元素提供焦点(假设分割字段)


您可以在这里看到这一点:

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

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

可能模拟一次点击?@JBDouble05它似乎可能在iframe中?另外,如何模拟点击?如何在页面加载时进行模拟?上面的要点是在加载字段后立即选择该字段。在上面的例子中,你实际上需要点击一些东西(为什么用户不直接点击表单输入呢?)。代码可能很简单,但我们想知道为什么您认为这是一个解决方案。事实上,我们不能直接对条带输入进行操作。我们必须检查条纹元素组件。
 let elements = stripe.elements();    
let cardCvcElement = elements.create("cardCvc");
cardCvcElement.mount("#card-cvc-element");

    let cvc = document.querySelector("#card-cvc-element");
    cardCvcElement.addEventListener("blur", () => {
      cvc.style.removeProperty("border");
    });
    cardCvcElement.addEventListener("focus", () => {

        cvc.style.setProperty("border-color","red");
      }
    });
element.on('ready', () => {
  element.focus()
})