检查输入字段时,我打开了导航的两个主要元素。只有当两个 man 导航元素之一打开时,我才尝试在 keyup esc 上触发关闭导航功能:
$(document).on('keyup', this.onPressEsc.bind(this));
onPressEsc(e) {
if (e.keyCode === 27 && this.$body.find(selectors.input).prop('checked') === true) {
this.closeMainNav();
this.removeOverlay();
}
}
对于当前的实现,只检查数组的第一个元素,有什么方法可以验证它们吗?
.prop() 方法只获取匹配集合中第一个元素的属性值。
所以,你用prop()
错了。如果两者都被检查,那只会为第一个元素返回 true。
要选择所有匹配且selectors.input
被检查的元素(假设这是一个定义了选择器的字符串),添加“:checked”,并测试长度:
onPressEsc(e) {
if (e.keyCode === 27 && this.$body.find(selectors.input + ":checked").length == 2) {
this.closeMainNav();
this.removeOverlay();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句