我是Stripe元素集成的新手。一切都很好,但我的造型有问题。这是我的代码:
cardNumElement.on('focus', function(event) {
$('#card_num_label').addClass('active');
if (event.empty) { //HERE GETTING EVENT.EMPTY UNDEFINED
$('#card_num_label').removeClass('active');
}
});
cardNumElement.on('blur', function(event) {
if (event.empty) {
$('#card_num_label').removeClass('active');
}
});
我想要实现的是:
- 当用户关注该元素时,将活动类选择器添加到标签中
- 如果用户输入值,请不要删除活动的类选择器
- 如果用户没有输入值并将焦点从元素中移开,请移除活动的类选择器我无法检测用户是否输入了值,也没有得到结果事件
event.empty
在focus
或blur
事件上不可用。这些事件的唯一有效属性是event.elementType
。
如果要获取元素内容的状态,可以使用change
事件:https://stripe.com/docs/js/element/events/on_change?type=cardElement#element_on_change-处理机
或者,您可以使用元素的私有字段,但请记住,这些字段随时可能更改,并且可能不可靠:
cardNumElement.on('focus', function(event) {
$('#card_num_label').addClass('active');
if (cardNumElement._implementation._empty) {
$('#card_num_label').removeClass('active');
}
});