在按下箭头向上键时,防止文本输入的默认行为。
- 论坛
- 在按下箭头向上键时,防止文本输入的默认行为。
10 浏览
在按下箭头向上键时,防止文本输入的默认行为。
我正在使用基本的HTML 文本字段来输入数字值。
我添加了JavaScript事件 keyup
来检测用户按下箭头向上键 (e.which == 38
) 时,我会增加数字值。
代码运行良好,但有一件事让我不爽。无论是Safari/Mac还是Firefox/Mac,在我按下箭头向上键时,光标都会移动到开头。据我所知,这是每个 文本字段的默认行为,这也很合理。
但这会导致光标在值被修改后来回跳动,给人一种不太美观的效果。
跳跃发生在 keydown
事件上,但即使知道这一点,我也无法阻止它发生。我尝试了以下方法:
input.addEventListener('keydown', function(e) { e.preventDefault(); }, false);
在 keyup
事件中加入 e.preventDefault()
也没有帮助。
有没有办法阻止光标移动?