想必大家都使用过elemet ui 的单选框吧,今天遇到了一个需求,写的主要是个考试系统,在切换题目时要用左右箭头,大家都知道单选框在点击选项时有默认键盘事件,就比如上下箭头和左右箭头会切换选中的答案,然后我写完直接就变成,按下右箭头,下一题,但是在切换题目之前会先去换掉刚才选中的答案,心态崩了啊,然后一顿百度,没找到,还是看看之前这个项目的函数是怎么写的吧,果不其然,被我找到了,真的很简单就是在注册全局键盘事件时不让它向上冒泡,就比如
document.onkeydown = function (e) {
e.preventDefault();
//keyCode对应着键盘的编码
if (window.event.keyCode == 37) {
self.prev();
}
if (window.event.keyCode == 39) {
self.next();
}
};
加上这个 e.preventDefault();竟然就解决了