js 实现退格
实现退格功能的 JavaScript 方法
监听键盘事件
通过 keydown 或 keyup 事件监听键盘输入,检测按下的是否为退格键(Backspace,键码为 8)。

document.addEventListener('keydown', function(event) {
if (event.key === 'Backspace' || event.keyCode === 8) {
// 处理退格逻辑
}
});
修改输入框内容
若目标是输入框(如 <input> 或 <textarea>),直接操作其 value 属性,删除最后一个字符。

const input = document.getElementById('myInput');
input.value = input.value.slice(0, -1); // 删除末尾字符
处理可编辑元素(如 div)
对于 contenteditable 的 DIV,需通过 Selection API 获取光标位置并删除前一个字符。
const editableDiv = document.getElementById('editableDiv');
if (window.getSelection) {
const selection = window.getSelection();
const range = selection.getRangeAt(0);
if (range.startOffset > 0) {
range.setStart(range.startContainer, range.startOffset - 1);
range.deleteContents();
}
}
阻止默认行为(可选)
某些场景下需阻止退格键的默认行为(如页面回退),通过 event.preventDefault() 实现。
document.addEventListener('keydown', function(event) {
if (event.key === 'Backspace' && event.target.tagName !== 'INPUT') {
event.preventDefault(); // 阻止页面回退
}
});
注意事项
- 兼容性:
event.key是现代标准,keyCode已废弃但部分旧浏览器仍需支持。 - 焦点检查:操作前确认目标元素是否聚焦,避免误删其他内容。
- 内容安全:直接操作 HTML 时需注意 XSS 风险,建议对输入内容做转义处理。






