1 回答

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
我認(rèn)為問(wèn)題出在您的removeEventListener電話上。第二個(gè)參數(shù)必須是您要?jiǎng)h除的原始偵聽(tīng)器,并且在您傳遞的那一刻event似乎是未定義的。
為了解決這個(gè)問(wèn)題,定義監(jiān)聽(tīng)器作為自己的功能,同時(shí)在使用它add和remove:
const listener = async event => {
event.preventDefault();
const { token, error } = await stripe.createToken(card);
if (error) {
} else {
stripeTokenHandler(token);
form.submit();
}
}
function mountCardField() {
form.addEventListener('submit', listener);
}
function unmountCardFieldAndShowLastUsedCard() {
// ...
form.removeEventListener('submit', listener);
}
添加回答
舉報(bào)