我正在使用<input type="text"/>
带有数值的基本 HTML 文本字段。
我正在添加 JavaScript 事件keyup
以查看用户何时按下向上箭头键 ( e.which == 38
) - 然后我增加数值。
该代码运行良好,但有一件事让我感到困扰。当我按下向上箭头键时,Safari/Mac 和 Firefox/Mac 都会在最开始移动光标。据我所知,这是每个<input type="text"/>
文本字段的默认行为,这是有道理的。
但这不会产生光标前后跳跃的非常美观的效果(在更改值之后)。
一开始的跳跃发生了,keydown
但即使有了这些知识,我也无法阻止它的发生。我尝试了以下方法:
input.addEventListener('keydown', function(e) {
e.preventDefault();
}, false);
e.preventDefault()
参加keyup
活动也无济于事。
有什么办法可以防止光标移动吗?