当前位置:首页 > JavaScript

js 实现退格

2026-03-14 19:21:39JavaScript

实现退格功能的 JavaScript 方法

监听键盘事件
通过 keydownkeyup 事件监听键盘输入,检测按下的是否为退格键(Backspace,键码为 8)。

js 实现退格

document.addEventListener('keydown', function(event) {
    if (event.key === 'Backspace' || event.keyCode === 8) {
        // 处理退格逻辑
    }
});

修改输入框内容
若目标是输入框(如 <input><textarea>),直接操作其 value 属性,删除最后一个字符。

js 实现退格

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 风险,建议对输入内容做转义处理。

标签: js
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…