【发布时间】:2010-11-08 00:12:01
【问题描述】:
我正在使用带有数值的基本 HTML <input type="text"/> 文本字段。
我正在添加 JavaScript 事件 keyup 以查看用户何时按下向上箭头键 (e.which == 38) - 然后我增加数值。
代码运行良好,但有一件事让我很头疼。当我按向上箭头键时,Safari/Mac 和 Firefox/Mac 都会在最开始移动光标。据我所知,这是每个 <input type="text"/> 文本字段的默认行为,这是有道理的。
但这不会产生光标前后跳动的美学效果(在更改值之后)。
一开始的跳跃发生在keydown,但即使有了这些知识,我也无法阻止它发生。我尝试了以下方法:
input.addEventListener('keydown', function(e) {
e.preventDefault();
}, false);
将e.preventDefault() 放入keyup 事件也无济于事。
有什么办法可以防止光标移动吗?
【问题讨论】:
标签: javascript events input keyboard default