作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我如何检测退格键是否被按下并在 js 中保持。我设置了事件监听器,但每次按下退格键时它都会触发我需要区分按下和按住吗?
HTML 输入:
(keydown)="fixIePosition($event);
TS 回调:
fixIePosition(e) {
if ((navigator.userAgent.indexOf('Trident') !== -1 ||
navigator.userAgent.indexOf('Edge') !== -1)
&& e.keyCode === 8) {
const selectionStart = e.target.selectionStart;
if (selectionStart === 3) {
e.target.setSelectionRange(3, 3);
// } else if (selectionStart === 5 && e.type === 'keydown') {
// console.log(e);
// // e.target.setSelectionRange(selectionStart, selectionStart);
// this.ieFixPosition = true;
} else if (selectionStart === 4 && e.type === 'keyup') {
if (this.ieFixPosition) {
e.target.setSelectionRange(selectionStart, selectionStart);
this.ieFixPosition = false;
} else {
e.target.setSelectionRange(selectionStart - 1, selectionStart - 1);
}
}
}
}
最佳答案
你可以试试键盘事件repeat检测按键保持。
document.addEventListener('keydown', (event) => {
if (event.repeat) {
// Key Hold Event
} else {
// Key Press Event
}
});
关于javascript - 如何检测退格键是否被保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274584/
我是一名优秀的程序员,十分优秀!