如何解决条纹元素被破坏
我有这个 javascript 代码,它用一个 div 动态地创建一个模态,其中条带加载它的元素 div 以保存我的客户卡详细信息。由于它们可以显示和隐藏模态,我决定将回调挂钩到模态的隐藏事件中并将其从 dom 中删除。这意味着每次用户单击按钮添加新的付款方式时,他都会将一个新的模态添加到 dom 中。 此外,为了防止同一页面上相同类型的重复条纹元素,我销毁了“元素”。第一次尝试时一切正常,但每次尝试“销毁”元素后,stripe 都会抛出一个异常,表示元素已被销毁.. 代码如下:
static createNewPaymentMethod() {
var stripe = Stripe("My_Publishable_Key");
var modal = "<DIVS_WITH_THE_MODAL>";
$("body").append(modal);
$("#ID_OF_THE_MODAL").modal("show");
var elements = stripe.elements();
var stripeCardElement = elements.create('card');
stripeCardElement.mount('#ID_OF_THE_MODAL .card-element');
$(document).on("hidden.bs.modal","#ID_OF_THE_MODAL",function(){
stripeCardElement.destroy();
$("#ID_OF_THE_MODAL").remove();
});
}
我尝试将对变量 stripeCardElement 的调用更改为 elements.getElement('card') 和然后调用 destroy ,但与第一次尝试一样,该调用在第一个模态显示后返回 null...
解决方法
只是一个快速修复,我将 stripeCardElement.destroy(); 更改为 stripeCardElement.unmount(); 它似乎有效,但我有点认为我的编码方式实际上更好.. 不知道 Stripe JS api 内部的方法是否有一些差异..
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。